`

md5加密,jdk7 与jdk8对含有中文的明文加密注意

    博客分类:
  • java
阅读更多
private static final String ALGORITHM_MD5 = "MD5";

/**
* Encrypt the password with MD5
*
* @param pass
*            the password to encryption
* @return encryption string
*/
public static String getPassMD5(String pass) {
String keys = null;
try {
MessageDigest md = MessageDigest.getInstance(ALGORITHM_MD5);
if (pass == null) {
pass = "";
}
byte[] bPass = pass.getBytes("UTF-8");
// byte[] bPass = pass.getBytes();  j7 默认编码是u8   而j8不是,所以这个时候,中文加密有问题,j7与j8加密出来的密文不想等,J7是对的
System.out.println(Arrays.toString(bPass));
md.update(bPass);
// keys = new String(md.digest(), "GBK");
keys = bytesToHexString(md.digest());
} catch (Exception aex) {
aex.printStackTrace();
}
return keys;
}

/**
* 将beye[]转换为十六进制字符串
*
* @param bArray
* @return
*/
public static final String bytesToHexString(byte[] bArray) {
System.out.println(Arrays.toString(bArray));
StringBuffer sb = new StringBuffer(bArray.length);
String sTemp;
for (int i = 0; i < bArray.length; i++) {
sTemp = Integer.toHexString(0xFF & bArray[i]);
if (sTemp.length() < 2) {
sb.append(0);
}
sb.append(sTemp.toUpperCase());
}
return sb.toString().toLowerCase();
}
分享到:
评论

相关推荐

    RSA前台公钥加密后台私钥解密 jdk 1.5-1.8版本

    加密过程是将明文通过公钥进行模指数运算,解密过程则是使用私钥对密文进行模指数运算的逆运算。 2. 公钥加密:在前端应用中,用户使用服务器提供的公钥对敏感信息进行加密。由于公钥是公开的,所以即使被第三方...

    Java中常用的加密方法(JDK)

    Java中的加密方法主要涉及到数据的安全保护,通过特定的算法对数据进行编码,防止未经授权的访问。在Java的JDK中,提供了多种加密方法,包括对称加密和非对称加密。这里我们主要讨论对称加密,因为它是Java中最常用...

    国密依赖包bcprov-jdk16-1.46.jar

    bcprov-jdk16-1.46.jar是由Bouncy Castle提供的,Bouncy Castle是一个Java安全框架,提供了大量的加密算法和协议实现,包括对国密算法的支持。这个特定的版本(1.46)是针对JDK16编译的,因此它兼容Java 1.6及以上的...

    国密SM4算法前后端加密解密完整代码.zip

    JavaScript SM4实现需要注意兼容性问题,因为不同的浏览器对加密API的支持程度不一。 后端Java实现则可以利用Java的强类型和丰富的库资源,例如使用Java Cryptography Extension (JCE)框架。JDK 1.6已经包含了基本...

    AES加密算法java实现及实验报告

    5. **分析与讨论**:分析加密的安全性,讨论可能存在的问题,如密钥管理、性能等。 6. **测试用例**:列出一些测试用例,验证加密和解密功能的正确性。 7. **实验总结**:总结实验体验,提出改进意见或未来研究方向...

    JAVA实现AES加密和解密

    3. 加密数据:将明文数据转换为字节数组并进行加密。 ```java String plainText = "待加密的数据"; byte[] plainTextBytes = plainText.getBytes(StandardCharsets.UTF_8); byte[] cipherTextBytes = cipher.doFinal...

    AES256加密工具类,及其所必须的jar包

    AES256加密工具类是信息安全领域中一个重要的实用组件,它主要负责对数据进行加密保护,确保数据在传输或存储过程中的安全。AES(Advanced Encryption Standard)是一种广泛使用的对称加密算法,提供了强大的安全性...

    Java 的IDEA 加密算法加密和数字签名编程

    目前,Java开发工具包(JDK)1.5及以上版本对MD4、MD5、SHA-1等算法提供了支持。通过`java.security.MessageDigest`类,开发者可以轻松地实现消息摘要功能。 ##### 2.2 国内加密技术现状 对于中国而言,虽然可以从...

    java rsa加密解密程序

    Java RSA 加密解密程序是一种基于公钥/私钥对的加密算法,广泛应用于网络安全、数据保护和数字签名等领域。RSA是由Ron Rivest、Adi Shamir和Leonard Adleman在1977年提出的,是公开密钥加密算法的鼻祖。在这个程序中...

    前后端RSA非对称加密解密(代码示例).rar

    登录时,用户的密码用明文传输...非对称加密算法常用RSA算法,秘钥使用base64编码成字符串,后端使用jdk8的标准API,前端使用jsencrypt.js进行RSA的对应操作。经过测试,本例中的前后端代码的加密解密计算结果是一致的。

    支持AES加密.zip

    - **bcprov-jdk16-1.4**:这是Bouncy Castle库的一个版本,这是一个广泛使用的Java加密库,提供了对多种加密算法的支持,包括AES和非对称加密。 综合来看,这个压缩包提供了一个适用于Java环境的AES加密工具类...

    JDK17-security-developer-guide.pdf

    数字签名是指将加密后的数据与数字证书结合,以证明数据的真实性和完整性。Java 平台提供了多种数字签名算法,包括 RSA、ECDSA 等。开发者可以根据实际需求选择合适的数字签名算法。 Java 平台安全开发实践 Java ...

    加解密工具

    总之,这个加解密工具提供了一套便捷的加密和解密解决方案,利用JDK8的强大功能,帮助用户保护敏感数据。通过阅读并遵循提供的使用说明,用户可以轻松上手,提高数据安全性。同时,对于想要深入理解加解密机制的人来...

    java加密工具

    在深入探讨Java加密工具及其应用之前,我们先来理解一下标题和描述中提及的核心概念——“Java加密工具”、“文件MD5加密方法”。这不仅涵盖了Java编程语言中的加密技术,还特别聚焦于MD5(Message-Digest Algorithm...

    bcprov-jdk15on-1.59.jar

    - **哈希与消息认证码**:包含MD5、SHA系列、HMAC等算法,用于数据完整性验证。 - **XML加密和签名**:对于XML文档的安全处理,Bouncy Castle提供了必要的支持。 - **OpenSSL兼容性**:通过Bouncy Castle,Java...

    js加密服务端解密

    "js加密服务端解密"的主题就涉及到了客户端与服务端之间的安全交互。在这个场景下,客户端使用JavaScript进行数据加密,然后将加密后的数据发送到服务器,服务器端再进行解密。这种策略有助于防止在数据传输过程中被...

    RSA+bcpkix-jdk15.zip

    RSA前端JS加密,后端JAVA解密实现 用RSA非对称加密方式实现。后台生成rsa密钥对,然后在页面设置rsa公钥,提交时用公钥加密密码,生成的密文传到后台,后台再用私钥解密,获取密码明文。 这样客户端只需要知道rsa...

    Java实现文件加密工具 附源码

    Java实现的文件加密工具是一种基于源码的程序,它能够在JDK1.5及以上的环境中运行。这个工具的独特之处在于其灵活性,允许用户使用任何字符作为加密密码,为数据安全提供了广泛的可能性。此外,该工具还支持使用一个...

    3des加密解密

    解密过程与加密过程相反,首先用K3解密密文C,然后用K2加密中间结果,最后用K1解密得到原始明文。 **4. 源码实现:** 在提供的文件列表中,`ThreeDES.java`和`Test3DES.java`很可能是3DES加密解密的Java实现代码。...

Global site tag (gtag.js) - Google Analytics