Android MD5加密算法
16lz
2021-01-23
Android MD5加密算与J2SE平台一模一样,因为Android 平台支持java.security.MessageDigest这个包。实际上与J2SE平台一模一样。
算法签名:
[java] view plain copy- StringgetMD5(Stringval)throwsNoSuchAlgorithmException
[java] view plain copy
- packagecom.tencent.utils;
- importjava.security.MessageDigest;
- importjava.security.NoSuchAlgorithmException;
- /**
- *对外提供getMD5(String)方法
- *@authorrandyjia
- *
- */
- publicclassMD5{
- publicstaticStringgetMD5(Stringval)throwsNoSuchAlgorithmException{
- MessageDigestmd5=MessageDigest.getInstance("MD5");
- md5.update(val.getBytes());
- byte[]m=md5.digest();//加密
- returngetString(m);
- }
- privatestaticStringgetString(byte[]b){
- StringBuffersb=newStringBuffer();
- for(inti=0;i<b.length;i++){
- sb.append(b[i]);
- }
- returnsb.toString();
- }
- }
结束
- /*
- *MD5加密
- */
- privateStringgetMD5Str(Stringstr){
- MessageDigestmessageDigest=null;
- try{
- messageDigest=MessageDigest.getInstance("MD5");
- messageDigest.reset();
- messageDigest.update(str.getBytes("UTF-8"));
- }catch(NoSuchAlgorithmExceptione){
- System.out.println("NoSuchAlgorithmExceptioncaught!");
- System.exit(-1);
- }catch(UnsupportedEncodingExceptione){
- e.printStackTrace();
- }
- byte[]byteArray=messageDigest.digest();
- StringBuffermd5StrBuff=newStringBuffer();
- for(inti=0;i<byteArray.length;i++){
- if(Integer.toHexString(0xFF&byteArray[i]).length()==1)
- md5StrBuff.append("0").append(Integer.toHexString(0xFF&byteArray[i]));
- else
- md5StrBuff.append(Integer.toHexString(0xFF&byteArray[i]));
- }
- //16位加密,从第9位到25位
- returnmd5StrBuff.substring(8,24).toString().toUpperCase();
- }
更多相关文章
- Android 国际化,文本国际化,图片国际化
- android平台上的文件下载,文件和文件的操作
- cocos2dx android平台事件系统解析
- 让Android adb运行在ARM平台上
- 高通平台android9.0设置开机默认横屏显示
- Windows平台上编译OpenCV的Android版本
- cocos2dx android添加广点通广告平台的---插屏广告
- TextView属性大全+单行显示长文本
- Visual Studio跨平台开发实战(5) - Xamarin Android多页面应用程