如何在mysql中解密消息?

时间:2015-08-06 10:28:05

标签: java mysql encryption

邮件由Java Code加密:

 public String encrypt(String value) throws GeneralSecurityException {
    Cipher encryptCipher = Cipher.getInstance("DES");
    SecretKeyFactory  keyFactory = SecretKeyFactory.getInstance("DES");
    String salt="";
    SecretKey sk = keyFactory.generateSecret(new DESKeySpec(salt.getBytes()));
    encryptCipher.init(Cipher.ENCRYPT_MODE, sk);
    return new String(Base64.encodeBase64(encryptCipher.doFinal(value.getBytes())));
}

我做了一些研究,发现mysql有DES_DECRPTFROM_BASE64功能 我尝试通过

解密message=BCgS49ZhlEfiEhvxnR0guX06XBmv7Q1W
Select DES_DECRIPT(FROM_BASE64(message), '') 

但返回不可读的字符串。

我不确定这是否是解密的正确方法,有人可以帮助我吗?

1 个答案:

答案 0 :(得分:2)

MySQL DES_DECRYPT()

函数解密加密的字符串并返回原始字符串。

语法

DES_DECRYPT(crypt_str, [key_str]);

参数

  • crypt_str =加密字符串。
  • key_str =解密crypt_str的字符串。

示例:

SELECT DES_ENCRYPT('mytext','mypassward');
SELECT DES_DECRYPT(DES_ENCRYPT('mytext','mypassward'),'mypassward');