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密码加密及其工具类的更多相关文章

  1. 使用okHttp登录、Md5密码加密

    1.使用okHttp3登录 2.Md5密码加密 3.完整代码 4.项目案例 使用okHttp3登录: 使用okHttp3之前要在build.gradle引入okHttp3的依赖(顺便引入解析数据的gs ...

  2. EncryptHelper加密对象-工具类

    using System; using System.IO; using System.Security.Cryptography; using System.Text; using System.W ...

  3. Base64加密解密工具类

    使用Apache commons codec类Base64进行加密解密 maven依赖 <dependency> <groupId>commons-codec</grou ...

  4. Android开发之常用必备工具类图片bitmap转成字符串string与String字符串转换为bitmap图片格式

    作者:程序员小冰,CSDN博客:http://blog.csdn.net/qq_21376985 QQ986945193 博客园主页:http://www.cnblogs.com/mcxiaobing ...

  5. Java 关于密码处理的工具类[MD5编码][AES加密/解密]

    项目中又遇到了加密问题,又去翻了半天,然后做测试,干脆就把常用的两类小结一下. 1.第一种所谓的MD5加密 其实也不算加密,只是基于Hash算法的不可逆编码而已,等于说,一旦经过MD5处理,是不可能从 ...

  6. java MD5加密的工具类

    import java.security.MessageDigest; /** * MD5加密工具类 * @author zwq */ public class MD5Util { /** * MD5 ...

  7. MD5加密Java工具类

    原文:http://www.open-open.com/code/view/1421764946296 import java.security.MessageDigest; public class ...

  8. Android—关于自定义对话框的工具类

    开发中有很多地方会用到自定义对话框,为了避免不必要的城府代码,在此总结出一个工具类. 弹出对话框的地方很多,但是都大同小异,不同无非就是提示内容或者图片不同,下面这个类是将提示内容和图片放到了自定义函 ...

  9. Android之SharedPreferences两个工具类

    相信Android的这个最简单的存储方式大家都很熟悉了,但是有一个小小技巧,也许你没有用过,今天就跟大家分享一下,我们可以把SharedPreferences封装在一个工具类中,当我们需要写数据和读数 ...

随机推荐

  1. 坑:找到LoadRunner中Recording Options和 Run Time Settings配置选项确实的原因

    在loadrunner安装好后,打开页面查看发现分别的缺失内容如下: 现象: 1. Recording Options 2.Run Time Settings 3.解决 原因是LR是付费的,你的安装包 ...

  2. mint-ui 做省市选择组件

    省市的数据是动态的,其实不是动态的更好搞 <!-- 省市选择 --> <mt-popup v-model="popupVisible" position=&quo ...

  3. thymeleaf错误解决办法

    Caused by: org.attoparser.ParseException: Exception evaluating SpringEL expression: "username&q ...

  4. docker 访问宿主机网络

    使用宿主机IP 在安装Docker的时候,会在宿主机安装一个虚拟网关docker0,我们可以使用宿主机在docker0上的IP地址来代替localhost. 首先,使用如下命令查询宿主机IP地址: i ...

  5. JVM Java字节码方法表与属性

    方法表 1.methods_count  method_info,前三个字段和field_info一样 2.方法的属性结构 方法中的每个属性都是一个attribut_info结构 JVM定义了部分at ...

  6. shared_ptr 引用计数

    https://zh.cppreference.com/w/cpp/memory/shared_ptr 引用计数

  7. Tensorflow 2 Cifar10离线数据集手动下载、离线安装、本地加载、快速读取

    Tensorflow 2 Cifar10离线数据集手动下载.离线安装.本地加载.快速读取 商务合作,科技咨询,版权转让:向日葵,135-4855__4328,xiexiaokui#qq.com   查 ...

  8. 海思uboot启动流程详细分析(转)

    海思uboot启动流程详细分析(一) 海思uboot启动流程详细分析(二) 海思uboot启动流程详细分析(三)  

  9. flutter 右滑返回上一页

    import 'package:flutter/material.dart'; import 'package:flutter_app/pages/SplashScreen.dart'; import ...

  10. shell编程系列12--文本处理三剑客之sed利用sed修改文件内容

    shell编程系列12--文本处理三剑客之sed利用sed修改文件内容 修改命令对照表 编辑命令 1s/old/new/ 替换第1行内容old为new ,10s/old/new/ 替换第1行到10行的 ...