преобразовать шифрование AES в JAVA в узел - PullRequest
0 голосов
/ 26 марта 2020

У меня есть скрипт в java

private static final String ALGO = "AES";

public static String encrypt(String Data,String secretKeyPhrase) throws Exception {

    Key key = new SecretKeySpec(secretKeyPhrase.getBytes(), ALGO);

    Cipher c = Cipher.getInstance(ALGO);
    c.init(Cipher.ENCRYPT_MODE, key);
    byte[] encVal = c.doFinal(Data.getBytes());
    String encryptedValue = Base64.getEncoder().encodeToString(encVal);
    encryptedValue= URLEncoder.encode(encryptedValue, "UTF-8");
    return encryptedValue;
}


public static void main(String [] ar) throws Exception{
    String result2=AESUtil.encrypt("3483", "BDFHJLNPpnljhfdb");
    System.out.println(result2);
}

Мне нужно скопировать это в узле, я делаю это

var ciphertext = CryptoJS.AES.encrypt('3483', 'BDFHJLNPpnljhfdb').toString();

console.log (зашифрованный текст);

в результате java покажите мне

3483

sAllhJ7zLxBKr8hJ7tLf9w% 3D% 3D

, но в узле

3483

U2FsdGVkX19Z / mnj5yWWYWYYWYYWYYHYWYYHYYWYYYWYYWYYWYYYWYYYWYYHYWYWYYWYWYWYYWYYWYWHYW

что я делаю не так?

спасибо заранее.

Ответы [ 2 ]

0 голосов
/ 26 марта 2020

это еще один способ с крипто- js

function encrypt(plaintext) {
  var keyUtf8 = CryptoJS.enc.Utf8.parse("BDFHJLNPpnljhfdb")
  var result = CryptoJS.AES.encrypt(plaintext, keyUtf8,{ mode: CryptoJS.mode.ECB,  
  keySize: 128 }).toString();
  return result;
}

function decrypt(ciphertext) {
  var keyUtf8 = CryptoJS.enc.Utf8.parse("BDFHJLNPpnljhfdb")
  var encrypted=ciphertext;
  encrypted = CryptoJS.AES.decrypt(encrypted, keyUtf8, { mode: CryptoJS.mode.ECB,  
  keySize: 128 });
  var result = CryptoJS.enc.Utf8.stringify(encrypted).toString(); 
  return result;
}

var ciphertext=encrypt("3483");
// result sAllhJ7zLxBKr8hJ7tLf9w==
var ciphertext=decrypt("sAllhJ7zLxBKr8hJ7tLf9w==");
// result 3483
0 голосов
/ 26 марта 2020

привет, я могу зашифровать с помощью узла, это скрипт

function encrypt(plaintext) {
  var data = plaintext;
  var iv = new Buffer(0);
  const key = 'BDFHJLNPpnljhfdb'
  var cipher = crypto.createCipheriv('aes-128-ecb',new Buffer(key),new Buffer(iv))
  var crypted = cipher.update(data,'utf-8','base64')
  crypted += cipher.final('base64')
  return crypted;
}

и результат sAllhJ7zLxBKr8hJ7tLf9w ==

...