AbdelbakiBoukerche / rsa_encrypt

rsa encrypt package
MIT License
17 stars 16 forks source link

Error: Invalid length, must be multiple of four (at character 1024) #19

Open sayhicoelho opened 2 years ago

sayhicoelho commented 2 years ago

I'm having an error when trying to decrypt. The encryption is fine.

Reproduce:

String publicKey = '-----BEGIN RSA PUBLIC KEY-----'
  'MIIBCgKCAQEAqxd87o5VeHQclWAz6Y3QziDm4KT8ONP5sVKLuB0wvy4dE7yDR2UvR8aiPAPg1L6m0lEffTHrRtKEtcQnzWY5R/aoANPCBJYqM5RAEb1W1t1w3Xgvi/ZjzFTmwm70QZdOn+8u8Yb9d1g+G1R0yk0t7AeQtxWNKKJyR1eibJvFHB/uXru3IyHT/J7JfCgJiJTqcuT5Vt7+D03I4xtTu5IMpsVuXWSeK8DfgdVkNCXiYJmx3jDa2kWDSyBlO9hMXZZElECnifVtB/u2YA8x7Ju3+PcCTeLTpvNXelKzvooNeN/uD3fJhbb4eCiygTYFWzzzkgDhs4xg8FTaUgwtKXoewQIDAQAB'
  '-----END RSA PUBLIC KEY-----';

String privateKey = '-----BEGIN RSA PRIVATE KEY-----'
  'MIIFogIBAAKCAQEAqxd87o5VeHQclWAz6Y3QziDm4KT8ONP5sVKLuB0wvy4dE7yDR2UvR8aiPAPg1L6m0lEffTHrRtKEtcQnzWY5R/aoANPCBJYqM5RAEb1W1t1w3Xgvi/ZjzFTmwm70QZdOn+8u8Yb9d1g+G1R0yk0t7AeQtxWNKKJyR1eibJvFHB/uXru3IyHT/J7JfCgJiJTqcuT5Vt7+D03I4xtTu5IMpsVuXWSeK8DfgdVkNCXiYJmx3jDa2kWDSyBlO9hMXZZElECnifVtB/u2YA8x7Ju3+PcCTeLTpvNXelKzvooNeN/uD3fJhbb4eCiygTYFWzzzkgDhs4xg8FTaUgwtKXoewQKCAQBMnRj5rk0BwmTmUw0MAdBF7Z/VaqvzOqDuUbt1N8UTZy/oHZtfxiS07HLLkyUDv1fuiBsksczcivqYdn0oUiVGX2J99FVGPoQpUrKZ/wI69zBKTD5mW2/3GPG4kXzZPksb/Tw1NbCc16wACwK9cHAm6IBaK9FpJ80qu0hlgB905uygXFe/QRDYnFK1Rwk54u88WinnUvKyvY3al9RB410/a/V53k86RGwgTnTmFsIwpM2oMGJ7Q2h8OhYcLD4Ths3JELgoY1oZvtKghNQMfSevogGDimoXYeFT8ywLuUjVV05C6SM83ouSniRwD5r0GTOzr0Qakkolp13tEPw6UV8RAoIBAEydGPmuTQHCZOZTDQwB0EXtn9Vqq/M6oO5Ru3U3xRNnL+gdm1/GJLTscsuTJQO/V+6IGySxzNyK+ph2fShSJUZfYn30VUY+hClSspn/Ajr3MEpMPmZbb/cY8biRfNk+Sxv9PDU1sJzXrAALAr1wcCbogFor0WknzSq7SGWAH3Tm7KBcV79BENicUrVHCTni7zxaKedS8rK9jdqX1EHjXT9r9XneTzpEbCBOdOYWwjCkzagwYntDaHw6FhwsPhOGzckQuChjWhm+0qCE1Ax9J6+iAYOKahdh4VPzLAu5SNVXTkLpIzzei5KeJHA'
  '-----END RSA PRIVATE KEY-----';

String cipherText = Cryptography.encrypt('Hello World!', publicKey);
String decrypted = Cryptography.decrypt(cipherText, privateKey);

log(decrypted);

My encrypt & decrypt methods:

import 'package:rsa_encrypt/rsa_encrypt.dart' as rsa;

...

static String encrypt(String plainText, String publicKey) {
  RSAPublicKey rsaPublicKey = _helper.parsePublicKeyFromPem(publicKey);
  return rsa.encrypt(plainText, rsaPublicKey);
}

static String decrypt(String cipherText, String privateKey) {
  RSAPrivateKey rsaPrivateKey = _helper.parsePrivateKeyFromPem(privateKey);
  return rsa.decrypt(cipherText, rsaPrivateKey);
}

Error:

image