md5加密:明文转化成密文之后,密文是不能转化成明文
/**
* MD5加密
* @return
*/
public static String passwordMD5(String password){
StringBuilder sb = new StringBuilder();
try {
//1.获取数据摘要器
//arg0 : 加密的方式
MessageDigest messageDigest = MessageDigest.getInstance("MD5");
//2.将一个byte数组进行加密,返回的是一个加密过的byte数组,二进制的哈希计算,md5加密的第一步
byte[] digest = messageDigest.digest(password.getBytes());
//3.遍历byte数组
for (int i = 0; i < digest.length; i++) {
//4.MD5加密
//byte值 -128-127
int result = digest[i] & 0xff;
//将得到int类型转化成16进制字符串
//String hexString = Integer.toHexString(result)+1;//不规则加密,加盐
String hexString = Integer.toHexString(result);
if (hexString.length() < 2) {
// System.out.print("0");
sb.append("0");
}
//System.out.println(hexString);
//e10adc3949ba59abbe56e057f20f883e
sb.append(hexString);
}
return sb.toString();
} catch (NoSuchAlgorithmException e) {
//找不到加密方式的异常
e.printStackTrace();
}
return null;
}
隐藏显示密码效果
代码中进行操作
int count=0;
ImageView iv_enterpassword_hide = (ImageView) view.findViewById(R.id.iv_enterpassword_hide);
iv_enterpassword_hide.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//隐藏显示密码
if (count%2 == 0) {
//显示密码
et_setpassword_password.setInputType(0);
}else{
//隐藏密码
et_setpassword_password.setInputType(129);//代码设置输入框输入类型
}
count++;
}
});