015 Android md5密码加密及其工具类
1.md5加密介绍
MD5算法是广泛使用的杂凑函数,也就是哈希函数,英文全拼是:Message Digest Algorithm,对应的中文名字是消息摘要算法。
MD5加密:将字符串转换成 32位的字符串(随机生成16进制的字符0-F、不可逆)
MD5加密的特点:
(1)一个任意长度的数据,经过MD5计算后就会得到一个长度固定的十六进制字符串;
(2)MD5算法消耗较低,不会在性能在造成压力;
(3)抗修改性很强,相差极小的两个原数据的MD5值差异会很大
(4)抗碰撞性也很强,伪造数据的难度很大
2.MD5工具类
package com.example.administrator.test62360safeguard.Utils; import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException; public class MD5Util {
public static void main(String[] args) {
String psw="123";
encoder(psw);
} /**
* 给指定字符串按照md5算法进行加密
* @param psw 需要加密的密码
*/
public static String encoder(String psw) {
try {
psw=psw+"safeguard"; //密码加盐
//1.指定加密算法
MessageDigest digest=MessageDigest.getInstance("MD5");
//2.将需要的字符串转换为byte类型的数组,然后进行随机哈希过程
byte[] bs=digest.digest(psw.getBytes());
System.out.println(bs.length);
//3.循环遍历bs,然后让其生成32位的字符串(固定写法),拼接字符串
StringBuffer sb=new StringBuffer();
for (byte b : bs) {
int i=b&0xff; //固定写法
//将int类型的i转换成16进制的字符
String hexStr=Integer.toHexString(i);
if(hexStr.length()<2){
hexStr="0"+hexStr;
}
sb.append(hexStr);
}
//System.out.println(sb);
return sb.toString();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
return "";
}
}
015 Android md5密码加密及其工具类的更多相关文章
- 使用okHttp登录、Md5密码加密
1.使用okHttp3登录 2.Md5密码加密 3.完整代码 4.项目案例 使用okHttp3登录: 使用okHttp3之前要在build.gradle引入okHttp3的依赖(顺便引入解析数据的gs ...
- EncryptHelper加密对象-工具类
using System; using System.IO; using System.Security.Cryptography; using System.Text; using System.W ...
- Base64加密解密工具类
使用Apache commons codec类Base64进行加密解密 maven依赖 <dependency> <groupId>commons-codec</grou ...
- Android开发之常用必备工具类图片bitmap转成字符串string与String字符串转换为bitmap图片格式
作者:程序员小冰,CSDN博客:http://blog.csdn.net/qq_21376985 QQ986945193 博客园主页:http://www.cnblogs.com/mcxiaobing ...
- Java 关于密码处理的工具类[MD5编码][AES加密/解密]
项目中又遇到了加密问题,又去翻了半天,然后做测试,干脆就把常用的两类小结一下. 1.第一种所谓的MD5加密 其实也不算加密,只是基于Hash算法的不可逆编码而已,等于说,一旦经过MD5处理,是不可能从 ...
- java MD5加密的工具类
import java.security.MessageDigest; /** * MD5加密工具类 * @author zwq */ public class MD5Util { /** * MD5 ...
- MD5加密Java工具类
原文:http://www.open-open.com/code/view/1421764946296 import java.security.MessageDigest; public class ...
- Android—关于自定义对话框的工具类
开发中有很多地方会用到自定义对话框,为了避免不必要的城府代码,在此总结出一个工具类. 弹出对话框的地方很多,但是都大同小异,不同无非就是提示内容或者图片不同,下面这个类是将提示内容和图片放到了自定义函 ...
- Android之SharedPreferences两个工具类
相信Android的这个最简单的存储方式大家都很熟悉了,但是有一个小小技巧,也许你没有用过,今天就跟大家分享一下,我们可以把SharedPreferences封装在一个工具类中,当我们需要写数据和读数 ...
随机推荐
- Java Redis缓存穿透/缓存雪崩/缓存击穿,Redis分布式锁实现秒杀,限购等
package com.example.redisdistlock.controller; import com.example.redisdistlock.util.RedisUtil; impor ...
- Hadoop hadoop balancer配置
hadoop版本:2.9.2 1.带宽的设置参数: dfs.datanode.balance.bandwidthPerSec 默认值 10m 2.datanode之间数据块的传输线程大小:dfs. ...
- docker 随笔记录
.docker 固定网络ip地址,启动 Docker的时候,用 --network 参数,可以指定网络类型 eg:docker run -itd --name test1 --network brid ...
- svn服务备份与还原
1.dump备份方式: svnadmin dump /data/svn/xxxx > /data/beifen/`date +/%Y%m%d`.bak xxxx:项目名称(项目库) 将xxxx这 ...
- Tensorflow object detection API(1)---环境搭建与测试
参考: https://blog.csdn.net/dy_guox/article/details/79081499 https://blog.csdn.net/u010103202/article/ ...
- game-hacking
https://github.com/dsasmblr/game-hacking Cheat Engine Hacking memory Cheat engine have a feature cal ...
- springboot前端传参date类型后台处理方式
转载:https://blog.csdn.net/xiangluer/article/details/81913137?utm_source=copy 参考如下博客: https://www.jian ...
- un-资源-开源-WebGallery:Windows Web App Gallery
ylbtech-资源-开源-WebGallery:Windows Web App Gallery Windows Web App Gallery 1.返回顶部 2.返回顶部 3.返回顶部 ...
- ISO/IEC 9899:2011 条款6.7.8——类型定义
6.7.8 类型定义 语法 1.typedef-name: identifier 约束 2.一个typedef名指定了一个可变修改的类型,然后它应该具有语句块作用域. 语义 3.在一个声明中,该声明的 ...
- CharUtil
package com.opslab.util; import java.io.UnsupportedEncodingException; /** * Various character and ch ...