gpt4 book ai didi

java - 解密使用 Java AESBouncyCaSTLe 创建的 MySQL 字段

转载 作者:行者123 更新时间:2023-11-30 22:10:02 26 4
gpt4 key购买 nike

我有在 Java 中加密和解密的方法。如何使用 MySQL 命令重现?

public static String encrypt(String plainString) throws Exception{
byte[] encr = AESBouncyCastle.encrypt(plainString.getBytes("UTF-8"), "secretKey");
String encryptedString= Hex.encodeHexString(encr);
return encryptedString;
}

public static String decrypt(String encryptedString) throws Exception{
byte[] retr = AESBouncyCastle.decrypt(Hex.decodeHex(encryptedString.toCharArray()), "secretKey");
String decryptedString = new String(retr, "UTF-8");
return decryptedString .trim();
}

知道我哪里做错了吗?最后想看看能不能用MySQL中的AES_DECRYPT函数来解密字符串。

更新

首先我需要找出 Java 的 Hex.decodeHex 的 Mysql 等价物。我们正在使用 Apache 的通用编解码器库。

我在 MySQL 中试过 UNHEX,在 Java 中也试过,但结果不同。

当我执行 UNHEX('956cafe431f5bfc0e66ca7d89359d2e9b63060a3ed5793e60c67aacaca43117c')它返回给我这样的东西 •l¯ä1õ¿Àæl§Ø“YÒé¶0`£íW“ægªÊÊC| 。而 Java 为 [B@32267cbc 返回这样的东西 Hex.decodeHex("956cafe431f5bfc0e66ca7d89359d2e9b63060a3ed5793e60c67aacaca43117c".toCharArray())

最佳答案

当然,你可以使用MySQL中的AES_DECRYPT函数来解密字符串。

链接在这里:http://dev.mysql.com/doc/refman/5.7/en/encryption-functions.html

关于java - 解密使用 Java AESBouncyCaSTLe 创建的 MySQL 字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40396286/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com