浅入MD5算法基本原理
来源:互联网 发布:mac word批量导入图片 编辑:程序博客网 时间:2024/06/05 14:28
在软件编程中,密码的加密是一件大事,而MD5以其自己独有的安全,难以破解的特性独占鳌头,因此,我对它进行了一定的了解。在这里,我分享一下自己的小经验给大家
1,先声明一个16位的字符串数组
public static String[] hegix = {"0","1","2","3","4","5","6","7","8","9","a" <span style="font-family: Arial, Helvetica, sans-serif;">,</span><span style="font-family: Arial, Helvetica, sans-serif;">"b","c","d","e","f"};</span>
2创建一个方法,进行数组类型转换
public static String byteToStringhex(byte b){int n = b;if(n<0)n+=256;int d1=n/16;//int d2=n%16;return hegix[d1];}
3声明一个数组,传入byte类型数组,调用类型转换的方法,得到String类型的字符串
public static String getbytes(byte[] b){StringBuffer sb=new StringBuffer();for(int i=0;i<b.length;i++){sb.append(byteToStringhex(b[i]));}return sb.toString();}
4开始调用MessageDigest方法,创建具有指定算法名称的信息摘要,加密完毕
public static String MD5Encode(String origin,String charsetname){String resultString = "";try{resultString = new String(origin);MessageDigest md = MessageDigest.getInstance("MD5"); //创建具有指定算法名称的信息摘要(引自jdk 1.8api)if("".equals(charsetname) || charsetname == null){resultString = getbytes(md.digest(resultString.getBytes()));}else{resultString = getbytes(md.digest(resultString.getBytes(charsetname)));}}catch(Exception e){e.printStackTrace();}return resultString;}
2 0
- 浅入MD5算法基本原理
- MD5算法
- MD5 算法
- MD5算法
- MD5 算法
- MD5算法
- MD5算法
- MD5算法
- md5 算法
- MD5算法
- MD5算法
- MD5算法
- MD5算法
- md5算法
- MD5算法
- MD5算法
- md5算法
- MD5算法
- Javascript之confirm的用法
- 【深度学习Deep Learning】资料大全
- _STORAGE_WRITE_ERROR_
- linux coredump文件和关闭oracle OCI自带的诊断功能
- bellman-ford
- 浅入MD5算法基本原理
- Linux 上的常用文件传输方式介绍与比较
- 【C++】学习笔记三——算术运算符
- P4 初体验之p4factory
- C++习题
- 并发事务
- Condition Variable notify_one notify_all
- 百度地图定位到大西洋问题,还有官方demo验证key失败问题
- 人脸识别(face recognition)