如何使用MD5和SHA算法加密信息

在系统中经常出现要存储一些用户信息,例如登录名和密码等。出于安全考虑,有些信息需要采用某些算法加密之后再进行

存储。目前广泛使用的算法有MD5和SHA-1等。

Hash算法主要用于信息安全领域中加密,它可以把一些不同长度的信息转化成固定长度的128位编码。MD5和SHA-1是目前

应用最为广泛的Hash算法,主要应用文件校验、数字签名和鉴权协议等领域。MD5和SHA属于非对称性加密算法,一般被认为

是不可逆的。

Java在实现MD5和SHA-1算法加密时,主要使用了java.security.MessageDigest类。MessageDigest类为应用程序提供信息

摘要算法的功能,例如MD5或SHA算法。信息摘要是安全的单项散列函数,它接收任意大小的数据,输出固定长度的散列值。

实现MD5和SHA加密的示例代码如下:

package day0105;

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

public class MD5AndSHA {

	/**
	 * @param str:要加密的字符串信息
	 * @param digestType:加密类型,选择MD5或SHA-1
	 * @return:加密后的内容
	 */
	public String digestString(String str,String digestType){
		MessageDigest md;
		String message = "";
			try{
				md = MessageDigest.getInstance(digestType);
				md.update(str.getBytes());
				message = byteToHex(md.digest());
			}catch(NoSuchAlgorithmException e){
				e.printStackTrace();
			}
		return message;
	}
	
	/**
	 * 将字节数组变成十六进制的字符串
	 * @param bytes:字节数组
	 * @return:十六进制的字符串
	 */
	private String byteToHex(byte[] bytes){
		StringBuffer sb = new StringBuffer();
		for(int i =0;i
   
   

加密功能使用的非常普遍,可以提高信息的安全性,加密算法也有很多,比较常用的有MD5和SHA-1。在Java中通过

java.security.MessageDigest类可以实现MD5和SHA-1加密算法。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值