AES простое шифрование в узле и дешифрование в Python и наоборот.Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 AES простое шифрование в узле и дешифрование в Python и наоборот.

Сообщение Anonymous »

Я генерирую секрет в Nodejs, как ниже, < /p>

Код: Выделить всё

const generateAesKey = () => {
const { randomBytes } = require('node:crypto');

randomBytes(32, (err, buf) => {
if (err) throw err;
return buf.toString('hex');
});

}
const secretKey = generateAesKey();
SecretKey выглядит примерно так: 491FB9719864F51E19A0705A3EF2DE15CD91576D881CDC4BD4394BF7451EE404
Использование с ключами и DECRYPT. p>

Код: Выделить всё

const CryptoJS = require("crypto-js");

// updated per Tppaco's comment
const secretKey = CryptoJS.enc.Hex.parse("491fb9719864f51e19a0705a3ef2de15cd91576d881cdc4bd4394bf7451ee404");

const encrypt = (plainText) => {

const iv = CryptoJS.enc.Utf8.parse('BBBBBBBBBBBBBBBB');
const encrypted = CryptoJS.AES.encrypt(plainText, CryptoJS.enc.Utf8.parse(secretKey), {
iv: iv,
mode: CryptoJS.mode.CBC,
});
return encrypted.toString();

}

const decrypt = (cipherText) => {
const iv = CryptoJS.enc.Utf8.parse('BBBBBBBBBBBBBBBB');
const decrypted = CryptoJS.AES.decrypt(cipherText, CryptoJS.enc.Utf8.parse(secretKey), {
iv: iv,
mode: CryptoJS.mode.CBC,
});
return CryptoJS.enc.Utf8.stringify(decrypted);
}

const en = encrypt("Text to be encrypted");
console.log(decrypt(en))
Я могу успешно зашифровать/расшифровать данные в среде узлов. Проблема возникает, когда мне нужно расшифровать данные в среде Python, которые я зашифровал в среде узлов. Я написал ниже код Python, который является эквивалентным кодом узла (исправьте меня, если этот оператор не прав). < /P>
from Crypto.Cipher import AES
from Crypto.Util.Padding import pad,unpad
import base64
import json
import os
#CBC with Fix IV

# key = os.urandom(32) // to generate random secret key

# updated per Tppaco's comment
key = bytes.fromhex('491fb9719864f51e19a0705a3ef2de15cd91576d881cdc4bd4394bf7451ee404')

data = 'Text to be encrypted'

#FIX IV
iv = 'BBBBBBBBBBBBBBBB'.encode('utf-8') #16 char for AES128

def encrypt(data,key,iv):
data= pad(data.encode(),16)
cipher = AES.new(key,AES.MODE_CBC,iv)
return base64.b64encode(cipher.encrypt(data))

def decrypt(enc,key,iv):
enc = base64.b64decode(enc)
cipher = AES.new(key, AES.MODE_CBC, iv)
return unpad(cipher.decrypt(enc),16)

def lambda_handler(event, context):

encrypted = encrypt(data,key,iv)
print('encrypted CBC base64 : ',encrypted.decode("utf-8", "ignore"))

decrypted = decrypt(encrypted,key,iv)
print('decrypted data: ', decrypted.decode("utf-8", "ignore"))
return {
'statusCode': 200,
'decrypted text': json.dumps(decrypted.decode("utf-8", "ignore"))
}
< /code>
error < /strong> < /p>

"errormessage": "накладка неверна.",
/> "errortype": "valueError", < /p>
< /blockquote>
Моя основная цель - шифровать данные в узле и расшифровать их в Python. Что я делаю не так?

Подробнее здесь: https://stackoverflow.com/questions/780 ... vice-versa
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Совместимое шифрование и дешифрование AES для C# и javascript.
    Anonymous » » в форуме C#
    0 Ответы
    50 Просмотры
    Последнее сообщение Anonymous
  • Шифрование и дешифрование AES в Android
    Anonymous » » в форуме Android
    0 Ответы
    23 Просмотры
    Последнее сообщение Anonymous
  • Как доказать 128-битное шифрование и дешифрование AES на Arduino [закрыто]
    Anonymous » » в форуме C++
    0 Ответы
    55 Просмотры
    Последнее сообщение Anonymous
  • Шифрование и дешифрование с использованием PyCrypto AES-256.
    Anonymous » » в форуме Python
    0 Ответы
    24 Просмотры
    Последнее сообщение Anonymous
  • Шифрование AES в node.js и дешифрование в Java Android
    Anonymous » » в форуме JAVA
    0 Ответы
    1 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»