大家好,我用openssl_encrypt
用算法'aes-256-cbc'用PHP加密了字符串
密钥:C4E30455853D4949A8E91B2C366BE9DE
向量:5686044872102713
public static String Decrypt_AES_FromBase64(String AEncryptedText, String AKey32Bytes, String AVectorNum16Bytes) {
try {
byte[] vEncryptedBytes = Base64.getDecoder().decode(AEncryptedText);
Key SecretKey = new SecretKeySpec(AKey32Bytes.getBytes(), "AES");
IvParameterSpec vSpec = new IvParameterSpec(AVectorNum16Bytes.getBytes());
Cipher vCipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
vCipher.init(Cipher.DECRYPT_MODE, SecretKey, vSpec);
return new String(vCipher.doFinal(vEncryptedBytes));
} catch (Exception e) {
Common.mContext.getLogger().log(e.toString());
return "";
}
}
javax.crypto.IllegalBlockSizeException: Input length must be multiple of 16 when decrypting with padded cipher
加密字符串Akey32bytes
是双Base64编码的。
而不是Akey32Bytes.getBytes()
,您需要将加密的数据进行double Base64解码为二进制。
加密字符串:ak9ystd6rxu5tenocuxqugxievhpz3vqslfiqudndgzrbvjvbelitgzjzz0=
一次Base64解码后:joxi7zeu9lchqlpplbyxigujjqbaggtfkmroliblfcg=
在第二次Base64解码后(因为它不是二进制的,所以显示为十六进制):8CE5C8EF312EF4B0A1A8B3CF95BC978A0BA32506C01A0B5F9264689486CB7DC8
这就是需要提供给解密函数的内容。
解密结果为:
(十六进制)257531362A2179704B40577255516272
(ASCII):“%u16*!YPK@WRUQBR”(所有有效的ASCII字符)
注意:有一个完整的PKCS#7填充块(十六进制):101010101010101010101010
尽管说这些让我很痛苦,但根据正确的填充,我可以假定解密是成功的。
参见隐型AES计算器
问题内容: 我是密码学的新手。我希望学习如何在文件中加密和解密文本……当我在net中引用相关文章时。我怀疑对同一文本进行多次加密后,单个文本的加密文本是否会相同?谁能解决我的疑问? 问题答案: 这是使用该类的示例:
本文向大家介绍php加密解密字符串示例,包括了php加密解密字符串示例的使用技巧和注意事项,需要的朋友参考一下 收录了一些比较经典的PHP加密解密函数代码,分享给大家。加密解密原理一般都是通过一定的加密解密算法,将密钥加入到算法中,最终得到加密解密结果。 希望本文所述对大家PHP程序设计有所帮助。
本文向大家介绍PHP加密解密字符串汇总,包括了PHP加密解密字符串汇总的使用技巧和注意事项,需要的朋友参考一下 项目中有时我们需要使用PHP将特定的信息进行加密,也就是通过加密算法生成一个加密字符串,这个加密后的字符串可以通过解密算法进行解密,便于程序对解密后的信息进行处理。 最常见的应用在用户登录以及一些API数据交换的场景。 笔者收录了一些比较经典的PHP加密解密函数代码,分享给大家。加密解密
本文向大家介绍PHP解密Unicode及Escape加密字符串,包括了PHP解密Unicode及Escape加密字符串的使用技巧和注意事项,需要的朋友参考一下 本文给大家分享一个PHP解密Unicode及Escape加密字符串函数 在网上搜索一把,很多用php实现的escape函数,大同小异 以上所述就是本文的全部内容了,希望大家能够喜欢。
问题内容: 我的意思是: 也许像: 在PHP中,您该怎么做? 尝试使用 ,但对我不起作用。 问题答案: 更新 PHP 7就绪版本。它使用PHP OpenSSL库中的openssl_encrypt函数。
我的意思是: 可能是这样的: null 尝试使用,但对我不起作用。