mervick / aes-everywhere

Aes Everywhere - Cross Language AES 256 Encryption Library (Bash, Powershell, C#, Dart, GoLang, Java, JavaScript, Lua, PHP, Python, Ruby, Swift)
Other
474 stars 169 forks source link

different results between [js] and [lua] #42

Open wilsonloo opened 1 month ago

wilsonloo commented 1 month ago

let encrypted = AES256.encrypt(raw.toString('binary'), key); console.warn("[client] encrypted:", encrypted)

let decrypted = AES256.decrypt(encrypted, key); console.warn("[client] decrypted:", Buffer.from(decrypted, 'binary').toString('hex'))


* in lua
```lua
local key = "abc"
local raw = '080210a0f8b4fe80321a0968616c6c2e6175746822170a0d746573745f7a4242546c5067561206313233343536'
print("[server] raw text:", raw)
raw = Crypt.hexdecode(raw)

local encrypted = Aes256.encrypt(raw, key)
print("[server] encrypted:", encrypted)

local decrypted = Aes256.decrypt(encrypted, key)
print("[server] decrypted:", Crypt.hexencode(decrypted))

will got: [client] raw text: 080210a0f8b4fe80321a0968616c6c2e6175746822170a0d746573745f7a4242546c5067561206313233343536 [client] encrypted: U2FsdGVkX19EUS7bVATmgDRHdhiKRK0cRsjGAN8ay7i8jNhN6u/sFh5DQXn3XlW74HKJ9k5LakyuFEEZD/Kyd6iKDmCN9RLYM5GQjbUE/Gs= [client] decrypted: 080210a0f8b4fe80321a0968616c6c2e6175746822170a0d746573745f7a4242546c5067561206313233343536

[server] raw text: 080210a0f8b4fe80321a0968616c6c2e6175746822170a0d746573745f7a4242546c5067561206313233343536 [server] encrypted: U2FsdGVkX1+TQ3tkeR4TjX8Eg36ofBeRhzakR+lWpKQIVMTpt20ytUfHj7k78PXqhKYmt4LYxE+cgHB9PVRLBg== [server] decrypted: 080210a0f8b4fe80321a0968616c6c2e6175746822170a0d746573745f7a4242546c5067561206313233343536

same key and raw text, but different encrypte result in Lua and Js, that means is not safe for LUA to decrypt messages from js ?