MD5加密模块

 很多的网络相关的软件都需要用户名密码登录,在开发的时候像这些密码都是保存在SharedPreferences中。这些密码保存在/data/data/包名/shared_prefs下,保存在一个XML文件中,开始说道正题,MD5加密算法虽然现在有些人已经将其解开了,但是它的加密机制依然很强大,我想绝大对数还是不会解开的。MD5加密算法是单向加密,只能用你的密码才能解开,要不就是会解密算法,否则想都别想解开。为了防止这种情况的发生。还可以对加密过的密码进行再次加密。

java代码:

package com.jxqx.security.utils;

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

public class MD5Encoder {
	
	public static String encode(String pwd){
		try{
			MessageDigest messageDigest = MessageDigest.getInstance("MD5");//拿到MD5加密的对象
			byte[] bytes = messageDigest.digest(pwd.getBytes());//返回一个加密后的字节数组
			StringBuffer sb=new StringBuffer();
			String tmp;
			for(int i=0;i<bytes.length;i++){
				
				tmp = Integer.toHexString(0xff & bytes[i]);//把字节转换为16进制的字符串
				if(tmp.length()==1){
					sb.append("0" + tmp);
					
				}else{
					sb.append(tmp);
				}
			}
			return sb.toString();
		}catch(NoSuchAlgorithmException e){
			
			 throw new RuntimeException("没有这个加密算法" + e);
		}
	}

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值