Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Uncaught Error: invalid plaintext size (must be 16 bytes) #108

Open
efcjunior opened this issue Sep 25, 2021 · 3 comments
Open

Uncaught Error: invalid plaintext size (must be 16 bytes) #108

efcjunior opened this issue Sep 25, 2021 · 3 comments

Comments

@efcjunior
Copy link

Hi,

Why this string '210c475118a95a1778a1ab2923192d59¤80181b005a0384318f0cdcfe372f77f7¤MP3_320¤1490338212¤4¤ ' that has the length of 96 characters can't be converted to array of 16 bytes ?

This code aesjs.utils.utf8.toBytes(text) is returning 102 bytes from that string above.

Thanks.

@efcjunior
Copy link
Author

Hi,

Why this string '210c475118a95a1778a1ab2923192d59¤80181b005a0384318f0cdcfe372f77f7¤MP3_320¤1490338212¤4¤ ' that has the length of 96 characters can't be converted to array of 16 bytes ?

This code aesjs.utils.utf8.toBytes(text) is returning 102 bytes from that string above.

Thanks.

Consider 9 empty characters in the end of string.

@efcjunior
Copy link
Author

I've studying a bit about this subject because this is new to me. In PHP script everything works perfectly coding like this:

$encrypted = openssl_encrypt($data, "AES-128-ECB", $key, OPENSSL_RAW_DATA | OPENSSL_ZERO_PADDING);
But in Java Script I can't reproduce the same result with this code:

var aesEcb = new aesjs.ModeOfOperation.ecb(key); var encryptedBytes = aesEcb.encrypt(pkcs7.pad(text)); var hex = aesjs.utils.hex.fromBytes(encryptedBytes); console.log(hex);

In some tests I've noticed this flag "OPENSSL_ZERO_PADDING" in PHP is the cause of the the difference between the results. But It's the problem because I have to get the result correct that's is generated when has OPENSSL_ZERO_PADDING. Everyone has some idea ?

@ToxxicFuse
Copy link

1 char = 1 byte = 8 bits.
You're trying to fit 96 bytes in a 16 bytes array

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants