使用AES加密角度

问题描述

我正在尝试使用Typescript加密字符串。我正在尝试复制用Java编写的加密方法

public String dataEncrypt(String data) {
String result = null;
String IVString = "IQ20lov4IZES1F01";
try {
    SecretKeySpec skc;
    skc = new SecretKeySpec(AppConstant.DATA_ENCRYPTION_KEY.getBytes(),"AES");
    final byte[] IV = IVString.getBytes();
    final IvParameterSpec ivSpec = new IvParameterSpec(IV);
    Cipher cipher = Cipher.getInstance("AES/CTR/nopadding");
    cipher.init(Cipher.ENCRYPT_MODE,skc,ivSpec);
    byte[] stringBytes = data.getBytes(StandardCharsets.UTF_8);
    byte[] encryptedBytes = cipher.doFinal(stringBytes);
    result = Base64.encodetoString(encryptedBytes,Base64.DEFAULT);
} catch (Exception e1) {
    lineNumber = getLineNumber(e1,getClass().getName());
    logger.error("Error at " + lineNumber,e1);
    e1.printstacktrace();
}
result = result.replace("\n","");
return result;

}

我用打字稿写的代码

convertText(conversion:string) {  
  if (conversion=="encrypt") {  
    const key = CryptoJS.enc.Utf8.parse('srjBRQ07WNjls71fUkClW0tGd82EJr9p');
    const iv = CryptoJS.enc.Utf8.parse('IQ20lov4IZES1F01');
    var encrypted = CryptoJS.AES.encrypt('ACHUTHaraMAN',key,{
    // instead of message try some string or “9876543210”
    iv: iv,padding: CryptoJS.pad.nopadding,mode: CryptoJS.mode.CTR
    });
    // var encrypted_mob = salt.toString() + iv.toString() +
    encrypted = encrypted.toString();
    console.log("encrypted : ",encrypted);
    // this.conversionEncryptOutput = CryptoJS.AES.encrypt(this.plainText.trim()).toString();  
  }  

我从java方法获取e4jnVQAlKNDygSwq作为字符串的加密字符串,从打字稿获取B0md1KQkBk0jaCJu。我如何修改我的打字稿,使其得到与Java相同的结果

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)