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封装在一个工具类中,当我们需要写数据和读数 ...
随机推荐
- C++概念分析之 重载、重写(覆盖)和隐藏的区别
一.基本概念区别: 重载:是指同一可访问区内被声明的几个具有不同参数列(参数的类型,个数,顺序不同)的同名函数,根据参数列表确定调用哪个函数,重载不关心函数返回类型. 隐藏:是指派生类的函数屏蔽了与其 ...
- Java 读写文件示例
import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; public class T ...
- jQuery学习笔记——事件
何为事件 就是你的鼠标,键盘等对网页元素进行的操作. 常见事件 鼠标事件 键盘事件 表单事件 文档/窗口事件 click keypress submit load dblclick keydown c ...
- JDBC 操作
简单的 JDBC 操作主要有: JdbcTemplate query queryForObject queryForList update execute 简单使用如下所示. 初始化数据库 sprin ...
- 数据库中的blob是什么类型?
数据库中的blob是什么类型? BLOB (binary large object)----二进制大对象,是一个可以存储二进制文件的容器. 在计算机中,BLOB常常是数据库中用来存储二进制文件的字段类 ...
- 在使用PhpSpreadsheet出现空行导入的问题
在使用PhpSpreadsheet出现空行导入的问题,项目一直报错,原来是读取excel后会多读取几行,或者说读取的行数有错误.因此必须加一个,去除空行.暂时没有研究源码可能源码里面有这样的功能. ...
- ubuntu redis config IP password
ubuntu Redis安装测试.设置用户名密码 - zhangaik的博客 - CSDN博客 https://blog.csdn.net/zhangaik/article/details/79279 ...
- linux内核的0号进程是在哪里创建的?
1. 0号进程即为idle进程或swapper进程,也就是空闲进程 2. 0号进程特点 idle是一个进程,其pid为0. 主处理器上的idle由原始进程(pid=0)演变而来.从处理器上的idle由 ...
- Syntax error: "(" unexpected shell里面的报错解决
author:headsen chen date : 2019-08-08 11:11:38 notice : 个人原创 Ubuntu上运行shell脚本总是报下面这个错误,在centos下面或者 ...
- js 解析 JSON 数据
JSON 数据如下: { "name": "mkyong", , "address": { "streetAddress" ...