- 浏览: 164740 次
- 性别:
- 来自: 南京
-
文章分类
最新评论
-
unitleader:
...
SVN 提交文件加锁 -
javasea2012:
[list][*]引用[b][u]引用[/u][/b][/li ...
JAVA中线程同步的方法 -
xiejin2008:
嘿嘿,你是面试的哪个部门呀··
百度面试 -
Ryan200909:
远程主机无响应!!!!
java 开发所需的jar包库 -
forrest420:
sorry,想给个顶的,点击错了,资料蛮有用的
tar zip 打包、压缩与解压缩到指定目录的方法
Java常用的对密码加密的方法(MD5,SHA)
关键字: md5 sha sha-256 sha-512
主要使用到了MessageDigest这个类
主要的方法:
编码转换的方法:
Main方法测试
如果条件允许,尽量使用sha256 sha512进行加密
主要的方法:
Java代码
- /**
- * 将摘要信息转换为相应的编码
- * @param code 编码类型
- * @param message 摘要信息
- * @return 相应的编码字符串
- */
- private String Encode(String code,String message){
- MessageDigest md;
- String encode = null ;
- try {
- md = MessageDigest.getInstance(code);
- encode = byteArrayToHexString(md.digest(message
- .getBytes()));
- } catch (NoSuchAlgorithmException e) {
- e.printStackTrace();
- }
- return encode;
- }
/** * 将摘要信息转换为相应的编码 * @param code 编码类型 * @param message 摘要信息 * @return 相应的编码字符串 */ private String Encode(String code,String message){ MessageDigest md; String encode = null; try { md = MessageDigest.getInstance(code); encode = byteArrayToHexString(md.digest(message .getBytes())); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } return encode; }
编码转换的方法:
Java代码
- /**
- * 将摘要信息转换成MD5编码
- * @param message 摘要信息
- * @return MD5编码之后的字符串
- */
- public String md5Encode(String message){
- return Encode( "MD5" ,message);
- }
- /**
- * 将摘要信息转换成SHA编码
- * @param message 摘要信息
- * @return SHA编码之后的字符串
- */
- public String shaEncode(String message){
- return Encode( "SHA" ,message);
- }
- /**
- * 将摘要信息转换成SHA-256编码
- * @param message 摘要信息
- * @return SHA-256编码之后的字符串
- */
- public String sha256Encode(String message){
- return Encode( "SHA-256" ,message);
- }
- /**
- * 将摘要信息转换成SHA-512编码
- * @param message 摘要信息
- * @return SHA-512编码之后的字符串
- */
- public String sha512Encode(String message){
- return Encode( "SHA-512" ,message);
- }
/** * 将摘要信息转换成MD5编码 * @param message 摘要信息 * @return MD5编码之后的字符串 */ public String md5Encode(String message){ return Encode("MD5",message); } /** * 将摘要信息转换成SHA编码 * @param message 摘要信息 * @return SHA编码之后的字符串 */ public String shaEncode(String message){ return Encode("SHA",message); } /** * 将摘要信息转换成SHA-256编码 * @param message 摘要信息 * @return SHA-256编码之后的字符串 */ public String sha256Encode(String message){ return Encode("SHA-256",message); } /** * 将摘要信息转换成SHA-512编码 * @param message 摘要信息 * @return SHA-512编码之后的字符串 */ public String sha512Encode(String message){ return Encode("SHA-512",message); }
Main方法测试
Java代码
- CodeUtil cu = new CodeUtil();
- //对MD5进行验证
- System.out.println("----MD5----" );
- System.out.println(cu.validate("d41d8cd98f00b204e9800998ecf8427e" , cu.md5Encode( "" )));
- System.out.println(cu.validate("0cc175b9c0f1b6a831c399e269772661" , cu.md5Encode( "a" )));
- System.out.println(cu.validate("900150983cd24fb0d6963f7d28e17f72" , cu.md5Encode( "abc" )));
- System.out.println(cu.validate("f96b697d7cb7938d525a2f31aaf161d0" , cu.md5Encode( "message digest" )));
- System.out.println(cu.validate("c3fcd3d76192e4007dfb496cca67e13b" , cu.md5Encode( "abcdefghijklmnopqrstuvwxyz" )));
- System.out.println(cu.validate("d174ab98d277d9f5a5611c2c9f419d9f" , cu.md5Encode( "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789" )));
- System.out.println(cu.validate("57edf4a22be3c955ac49da2e2107b67a" , cu.md5Encode( "12345678901234567890123456789012345678901234567890123456789012345678901234567890" )));
- //对SHA进行验证
- System.out.println("----SHA----" );
- System.out.println(cu.validate("2fd4e1c67a2d28fced849ee1bb76e7391b93eb12" , cu.shaEncode( "The quick brown fox jumps over the lazy dog" )));
- System.out.println(cu.validate("de9f2c7fd25e1b3afad3e85a0bd17d9b100db4b3" , cu.shaEncode( "The quick brown fox jumps over the lazy cog" )));
- System.out.println(cu.validate("da39a3ee5e6b4b0d3255bfef95601890afd80709" , cu.shaEncode( "" )));
- System.out.println("-----------" );
- //对于SHA-256,SHA-512请自行验证
- //下面显示MD5 SHA SHA-256 SHA-512所生成的长度
- System.out.println("--MD5--:" +cu.md5Encode( "test" ));
- System.out.println("--SHA--:" +cu.shaEncode( "test" ));
- System.out.println("SHA-256:" +cu.sha256Encode( "test" ));
- System.out.println("SHA-512:" +cu.sha512Encode( "test" ));
CodeUtil cu = new CodeUtil(); //对MD5进行验证 System.out.println("----MD5----"); System.out.println(cu.validate("d41d8cd98f00b204e9800998ecf8427e", cu.md5Encode(""))); System.out.println(cu.validate("0cc175b9c0f1b6a831c399e269772661", cu.md5Encode("a"))); System.out.println(cu.validate("900150983cd24fb0d6963f7d28e17f72", cu.md5Encode("abc"))); System.out.println(cu.validate("f96b697d7cb7938d525a2f31aaf161d0", cu.md5Encode("message digest"))); System.out.println(cu.validate("c3fcd3d76192e4007dfb496cca67e13b", cu.md5Encode("abcdefghijklmnopqrstuvwxyz"))); System.out.println(cu.validate("d174ab98d277d9f5a5611c2c9f419d9f", cu.md5Encode("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"))); System.out.println(cu.validate("57edf4a22be3c955ac49da2e2107b67a", cu.md5Encode("12345678901234567890123456789012345678901234567890123456789012345678901234567890"))); //对SHA进行验证 System.out.println("----SHA----"); System.out.println(cu.validate("2fd4e1c67a2d28fced849ee1bb76e7391b93eb12", cu.shaEncode("The quick brown fox jumps over the lazy dog"))); System.out.println(cu.validate("de9f2c7fd25e1b3afad3e85a0bd17d9b100db4b3", cu.shaEncode("The quick brown fox jumps over the lazy cog"))); System.out.println(cu.validate("da39a3ee5e6b4b0d3255bfef95601890afd80709", cu.shaEncode(""))); System.out.println("-----------"); //对于SHA-256,SHA-512请自行验证 //下面显示MD5 SHA SHA-256 SHA-512所生成的长度 System.out.println("--MD5--:"+cu.md5Encode("test")); System.out.println("--SHA--:"+cu.shaEncode("test")); System.out.println("SHA-256:"+cu.sha256Encode("test")); System.out.println("SHA-512:"+cu.sha512Encode("test"));
如果条件允许,尽量使用sha256 sha512进行加密
- CodeUtil.rar (1.5 KB)
- 下载次数: 46
发表评论
-
Netty中的Idle事件
2017-06-23 14:24 617转:http://blog.csdn.net/guanxin ... -
Zookeeper+kafka+java(Linux)
2016-12-20 22:49 947http://orchome.com/kafka/inde ... -
Zookeeper+Kafka+Java(windows)
2016-12-20 22:47 671摘要:本文主要说明了如何在Windows安装运行Kafka ... -
study plan
2016-12-05 11:07 0ajax轮询 需要服务器有很快的处理速度和资源。(速度)l ... -
SIP + FreeSwitch
2016-12-02 15:32 0SIP终端自己的解决方案 ... -
SpringBoot+Mybatis+Redis+Netty4+Swagger2
2016-11-13 09:24 2562SpringBoot 启动流程: htt ... -
JVM调优总结 -Xms -Xmx -Xmn -Xss
2016-11-11 12:33 615转:http://unixboy.javaeye.com/ ... -
生产者/消费者模式(阻塞队列)
2016-08-26 09:36 438引用:http://blog.csdn.net/a ... -
Java调用Telnet示例
2016-04-18 16:24 849转自:http://blog.csdn.net/j ... -
JavaScript DES加密
2014-12-03 17:32 3482function enString(data){var key ... -
FreeMarker学习(宏<#macro>的使用)
2014-11-05 10:25 1447copy自http://jayjunyu.iteye.com ... -
一篇很全面的freemarker教程
2014-11-04 20:57 781copy自http://demojava.iteye.com ... -
java并发编程中CountDownLatch和CyclicBarrier的使用
2014-11-03 17:42 714转自:http://blog.csdn.net/kuyuy ... -
库存校验并扣减
2014-10-30 21:05 0/** * * 方法描述:库存校验并扣减 ... -
JPGE图片压缩
2014-07-03 17:22 663import java.awt.Image;import ja ... -
eclipse代码格式化
2014-02-25 20:00 925codetempate -
QQ日期控件
2014-01-27 09:31 586abc -
经验谈:系统架构师的修炼[转]
2012-03-21 23:48 867最近应聘系统架构师 ... -
struts1.3-基础及原理
2012-03-08 14:41 1312网站struts.apache.org实践步骤:1 搭建环境 ... -
nginx 整合 tomcat 做负载均衡
2012-02-24 11:35 971http://tengine.taobao.org/bo ...
相关推荐
Java 中常用的加密算法 MD5,SHA,RSA Java 中常用的加密算法有多种,包括 MD5、SHA 和 RSA 等,这些算法在不同的应用场景中发挥着重要作用。下面将对这些算法进行详细的介绍和分析。 一、MD5 加密算法 MD5...
本主题聚焦于使用MD5(Message-Digest Algorithm 5)算法对用户密码进行加密。MD5是一种广泛使用的哈希函数,它将任意长度的数据转化为固定长度的128位(16字节)摘要,通常以32个十六进制数字表示。 MD5的主要特点...
Java 常用的 4 种加密方式(MD5+Base64+SHA+BCrypt) Java 加密是指使用 Java 语言来实现数据加密、解密和数字签名等操作。数据加密是指将明文数据转换为难以理解的密文,以保护数据的机密性和完整性。Java 提供了...
在上述代码中,`encryptPassword()`方法接收明文密码,对其进行MD5加密并返回加密后的字符串。`updateUserPassword()`方法则模拟了更新用户密码的过程,首先调用`encryptPassword()`方法对新密码进行加密,然后设置...
### JAVA_对文件进行MD5加密 在计算机科学与信息安全领域中,MD5(Message-Digest Algorithm 5)是一种广泛使用的散列函数,能够将任意长度的数据映射为一个固定长度(通常是128位)的十六进制数值。这种算法在数据...
Java中常用的加密算法MD5,SHA,RSA.mht
在IT领域,安全性和数据完整性是至关重要的,而SHA(Secure Hash Algorithm)和MD5(Message-Digest Algorithm 5)都是广泛使用的哈希函数,用于数据校验和密码存储。这两种算法可以将任意长度的数据转化为固定长度...
总的来说,这个压缩包提供的资源是学习和实践Java加密技术的良好起点,涵盖了常见的散列和对称加密方法。通过深入学习和实践,开发者不仅可以提升安全编程技能,还能为实际项目提供更强大的安全保障。
这个jar包包含了一系列用于MD5加密的Java类和方法。开发者可以将其导入项目中,通过调用相关API实现对字符串、文件等进行MD5加密。通常,它会包含以下几个关键组件: - `MessageDigest` 类:这是Java标准库中的类,...
在Java编程语言中,MD5(Message-Digest Algorithm 5)是一种广泛使用的哈希函数,主要目的是为了产生一个固定长度的、不可逆的数字摘要,常用于存储密码。MD5算法将任意长度的输入(也叫做预映射,pre-image)通过...
总结,Java实现MD5加密算法主要是通过`java.security.MessageDigest`类,经过`getInstance("MD5")`获取MD5实例,然后使用`digest()`和`update()`方法处理数据,最终将二进制摘要转换为十六进制字符串。尽管MD5的安全...
2. **Java中的MD5加密**:在Java中,可以使用`java.security.MessageDigest`类来实现MD5加密。首先,需要创建一个MD5实例,然后更新要加密的字节数组,最后获取并转换成十六进制字符串。 ```java import java....
在`encrypt`这个文件夹中,可能包含了一些关于Java MD5加密的示例代码或者测试用例,你可以进一步研究其中的内容,加深对MD5加密的理解和应用。通过实际操作和分析这些代码,你将能够更好地掌握如何在实际项目中实现...
在WebService使用Md5和SHA1加密技术对用户密码进行加密处理,从而增加用户安全性。登陆判断同样通过Md5和SHA1加密密码然后和数据库经过加密密码进行比较来(它们可都是二进制滴哦!)验证用户是否存在 很好滴东西 ...
MD5(Message-Digest Algorithm 5)是一种广泛使用的哈希函数,主要应用于数据的完整性校验和密码存储。MD5可以将任意长度的信息转化为固定长度的摘要,通常为32位的16进制字符串。这个"MD5加密demo"包含了一些关键...
根据提供的部分代码示例,我们可以看到如何使用Java实现MD5与SHA算法对字符串进行加密的过程: 1. **获取算法实例**:首先通过`java.security.MessageDigest`类的静态方法`getInstance()`获取指定算法的实例。例如...
在Java中实现SHA1加密,是确保数据安全性和完整性的一个常见做法,尤其在与微信支付接口交互时,为了保证交易的安全,会要求使用SHA1进行签名。 SHA1全称为Secure Hash Algorithm 1,它是由美国国家安全局(NSA)...
前端通常会使用MD5对用户输入的密码进行单向加密,这样即使数据被截获,也无法还原原始密码。JavaScript中,可以使用MD5库如`crypto-js`来计算MD5哈希值。 5. **Java与JavaScript之间的兼容**:在Java后台与...