package com.kero99.ygc.util;import java.io.UnsupportedEncodingException;
import java.math.BigInteger;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;import sun.misc.BASE64Encoder;
/**利用MD5进行加密
* @param str  待加密的字符串
* @return  加密后的字符串
* @throws NoSuchAlgorithmException  没有这种产生消息摘要的算法
* @throws UnsupportedEncodingException  不支持编码异常
*/
public class YGCMD5 {//静态方法,便于作为工具类public static String getMd5(String plainText){try {//创建信息摘要对象实例MessageDigest md = MessageDigest.getInstance("MD5");//获取文本明文为字节md.update(plainText.getBytes());//创建字节摘要数组byte b[] = md.digest();//创建 int 类型变量iint i;//创建StringBuffer容器StringBuffer buf = new StringBuffer("");for (int j = 0; j < b.length; j++) {    i = b[j];if (i < 0)                  i += 256;   //md5加密最长32位字符.一个字符占8个字节.所以最长允许256个字节的字符串if (i < 16)     //一个字符=8个字节 0-15不足字符俩字符则补0拼接  buf.append("0"); buf.append(Integer.toHexString(i));//int类型10进制转16进制                     }//32位加密return buf.toString();// 16位的加密  //return buf.toString().substring(8, 24);   } catch (NoSuchAlgorithmException e) {e.printStackTrace();return null;}}public static void main(String[] args) throws NoSuchAlgorithmException, UnsupportedEncodingException {  //测试System.out.println(YGCMD5.getMd5("hello"));System.out.println(YGCMD5.getMd5("hello").length());}}

MD5简单加密实现32位16位字符相关推荐

  1. 图像位深度 8位 16位 24位 32位区别对比 RGB 真彩色 基本概念:(大小,深度,通道)位深度数据类型转换原理 Mat数据读取(opencv里的imread)

    位深度 位深度是指在记录数字图像的颜色时,计算机实际上是用每个像素需要的二进制数值位数来表示的.计算机之所以能够显示颜色,是采用了一种称作"位"( bit ) 的记数单位来记录所表 ...

  2. 8位16位32位单片机区别

    8位16位32位区别 8位单片机的数据总线宽度为8位,通常直接只能处理8位数据: 16位单片机的数据总线宽度为16位,通常可直接处理8位或16位数据. 8位数据类型所占大小 16位数据类型所占大小 s ...

  3. 8位, 16位,24位,32位图片显示原理及对比

    我们都知道一张图片可以保存为很多种不同的格式,比如bmp/png/jpeg/gif等等.这个是从文件格式的角度看,我们抛开文件格式,看图片本身,我们可以分为8位, 16位, 24位, 32位等. 单击 ...

  4. Java Android 32位16位 MD5加密

    // md5加密 32位小写 private String Md5(String sourceStr) { String result = ""; try { MessageDig ...

  5. python MD5加密大小写,32位16位任选

    import hashlibstring = 'userId=669&apikey=098f6bcd4621d373cade4e832627b4f6&times='def md5val ...

  6. 32位计算机为什么是八位,一文看懂8位,16位和32位单片机的区别

    描述 8位单片机 16位 32位区别? 指CPU处理的数据的宽度,参与运算的寄存器的数据长度. 如果总线宽度与CPU一次处理的数据宽度相同,则这个宽度就是所说的单片机位数. 如果总线宽度与CPU一次处 ...

  7. 32位dll转64位工具_如何在64位系统中运行32位或16位程序

    由于CPU和系统架构的更新,现行主流的Windows系统已经是64位.然而许多人还恋恋不舍的一些老游戏或老程序已经没有了更新.在64位的系统上运行这些程序,往往会出现运行故障.如何才能解决这个烦心事? ...

  8. vscode中运行2个程序_在64位系统中运行32位或16位程序

    由于CPU和系统架构的更新,现行主流的Windows系统已经是64位.然而许多人还恋恋不舍的一些老游戏或老程序已经没有了更新.在64位的系统上运行这些程序,往往会出现运行故障.如何才能解决这个烦心事? ...

  9. c语言将两个16位变为一个32位,16位汇编第六讲汇编指令详解第第三讲(示例代码)...

    16位汇编第六讲汇编指令详解第第三讲 1.十进制调整指令 1. 十进制数调整指令对二进制运算的结果进行十进制调整,以得到十进制的运算结果 2.分成压缩BCD码和非压缩BCD码调整 简而言之: 以前的时 ...

最新文章

  1. TensorRT Samples: MNIST(serialize TensorRT model)
  2. 拆解交易系统--性能优化,安全加固与弹性扩缩容
  3. 书评 —— 《Go语言编程》
  4. php如何判断当前的操作系统是linux还是windows
  5. JSP读取My SQL数据乱码问题的解决
  6. 宽屏企业网站源码中英php_宽屏版大气企业网站源码dede网站源码中英文网站模板SEO...
  7. 高级进阶:Azure DevOps搞定.NET Core编译版本号自增
  8. SQL SERVER查看当前连接情况
  9. java 生成静态html的一段代码
  10. 开始启用51CTO的博客
  11. pandas—pandas.crosstab交叉表
  12. 跨域通信——多窗口通信
  13. 天猫达尔文商品管理体系通俗简介
  14. 搭建服务器之PPTP
  15. PDF在线免费转换成PPT怎么操作?
  16. 正则匹配替换最后一位字符
  17. Windows Installer:正在安装其他程序。请等待该安装完成,然后再次尝试安装此软件
  18. 截图工具(win+shift+S)截图之后为什么粘贴不上?有了这个方法,不用单独下载多次复制粘贴的工具了
  19. 全新最简易Git教程(内含视频链接)
  20. 2017江苏高职计算机分数线,2017—2019江苏高考招生投档分数线(体育高职专科院校).docx...

热门文章

  1. 全球最大双机身飞机Stratolaunch完成首飞
  2. vue项目首屏加载过慢解决方案
  3. arcgis把jpg转成栅格图像_[转载]在ArcGIS中配准(TIF、JPEG)栅格图像并矢量化(转)...
  4. 精仿交易猫手游1:1源码可运营 支持二维码收款
  5. ZYNQ产品生产拷机问题思考
  6. ABP Vnext 学习03-授权中心微信小程序登录
  7. QQ邮箱发送验证码功能的实现
  8. 设置div的内容及子标签向右对齐
  9. C++基础知识 —— 内存分区模型、引用、函数重载、类和继承、this指针、友元、多态、文件操作
  10. 【NOIP2012提高组】开车旅行