用md5加密字符串和文件

/**
* 可逆算法
* 123->abc 加密 
* abc->123   解密 
* 不可逆算法:md5;sha1,摘要算法 
* 123->abc
*/
// 这是你需要加密的内容,文件什么的都可以
String src = "123456";
try {
// 选择MD5,也就是加密的方式,当然还有sha1啊这些
MessageDigest md5 = MessageDigest.getInstance("md5");
// 加密,全转为byte数组
byte[] digest = md5.digest(src.getBytes());
// 准备一个十六进制的字符数组
char[] chars = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' };
StringBuffer sb = new StringBuffer();
// 把加密后的byte数组处理为字符串,通常这样处理
for (byte b : digest) {
// 高4位
sb.append(chars[(b >> 4) & 15]);
// 低4位
sb.append(chars[b & 15]);
}
// 打印得到的加密后的字符串
System.out.println(sb.toString());
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}

}

InputStream is = null;
//paper相当于上面的src
String paper = "";
try {
//需要加密的文件
is = new FileInputStream("D:\\用来玩io的\\shun/zsm.txt");
byte[] b = new byte[2014];
int len;
while ((len = is.read(b)) != -1) {
paper = paper + (new String(b, 0, len));
}
} catch (Exception e1) {
e1.printStackTrace();
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值