1. import java.security.MessageDigest;
  2. import java.util.Locale;
  3. public class MD5Util {
  4. public static String encode(String content) {
  5. try {
  6. MessageDigest digest = MessageDigest.getInstance("MD5");
  7. digest.update(content.getBytes());
  8. return getEncode16(digest);
  9. //return getEncode32(digest);
  10. } catch (Exception e) {
  11. }
  12. return null;
  13. }
  14. /**
  15. * 32位加密
  16. * @param digest
  17. * @return
  18. */
  19. private static String getEncode32(MessageDigest digest) {
  20. StringBuilder builder = new StringBuilder();
  21. for (byte b : digest.digest()) {
  22. builder.append(Integer.toHexString((b >> 4) & 0xf));
  23. builder.append(Integer.toHexString(b & 0xf));
  24. }
  25. //return builder.toString().toLowerCase(); // 小写
  26. //return builder.toString().toUpperCase(); // 大写
  27. // java.lang.String.toUpperCase(Locale locale) 方法将在此字符串中的所有字符为大写的规则给定的Locale.
  28. //return builder.toString().toUpperCase(Locale.getDefault()); // 大写
  29. return builder.toString();
  30. }
  31. /**
  32. * 16位加密
  33. * @param digest
  34. * @return
  35. */
  36. private static String getEncode16(MessageDigest digest) {
  37. StringBuilder builder = new StringBuilder();
  38. for (byte b : digest.digest()) {
  39. builder.append(Integer.toHexString((b >> 4) & 0xf));
  40. builder.append(Integer.toHexString(b & 0xf));
  41. }
  42. // 16位加密,从第9位到25位
  43. //return builder.substring(8, 24).toString().toUpperCase();
  44. return builder.substring(8, 24).toString();
  45. }
  46. }
  47. 参考:http://jiewushanshan.lofter.com/post/cf538_1d903d
  48. http://blog.csdn.net/lincyang/article/details/5709189

字符串的MD5的32位加密和16位加密的更多相关文章

  1. MD5、SHA1加密java 16位32位

    MD5.SHA1加密java 16位32位 import java.math.BigInteger; import java.security.MessageDigest; public class ...

  2. 图解单片机8位PWM、16位PWM中“位”的含义!

    今天 发现很多同学 搞不懂单片机的pwm中的位表示什么意思,如很多同学会问“8位pwm.16位pwm是什么意思啊,它们有什么区别啊,其中的‘位’表示什么意思啊”.对于这些问题,今天就给大家解释下,由于 ...

  3. 阿里云虚拟主机MYSQL加密长度16位变61位

    将网站迁移到阿里云虚拟主机后, 用户登录都提供密码错误, 一查询才发现MYSQL PASSWORD加密结果不致, 只有16位, 解决办法,在执行PASSWORD查询前,执行set old_passwo ...

  4. angular 输入框自动绑定值最长为16位,超过16位则会报错

    最近发现angular在使用input输入框的ng-model绑定scope变量的时候,发现,输入长串的数字将会出错.代码如下: <html> <head> <meta ...

  5. 16位的MD5加密和32位MD5加密的区别

    16位的MD5加密和32位MD5加密的区别 MD5加密后所得到的通常是32位的编码,而在不少地方会用到16位的编码它们有什么区别呢?16位加密就是从32位MD5散列中把中间16位提取出来!其实破解16 ...

  6. 整理常用加密 iOS 与 Android 加密 MD5-SHA1

    1.MD5算法 不可逆 128位或者64位串,byte数字长度就是16和8,一般表示是使用16进制来表示的话,1个byte转换成2个16bit,分别表示高地位,所以生成的字符串是16位或者是32位的, ...

  7. AM335X用RGB888连接LCD如何以16位色彩模式显示图片

    在AM335x中,在连接显示屏的时候,存在一个问题.这个在am335x Sillicon Errata已经提到过 在RGB888模式中   而对于RGB565模式的硬件连接 不难看出,这个RGB是反的 ...

  8. 24位PCM采样数据转成16位算法,已实现PCM转WAV在线工具源码支持24bits、16bits、8bits

    目录 算法来源 js版24位PCM转8位.16位代码 js版8位.16位PCM转成24位 附:浏览器控制台下载数据文件代码 相关实现 最近收到几个24位的PCM录音源文件,Recoder库原有的PCM ...

  9. 16位结构的CPU,8086给出物理地址的方法

    .16位结构的CPU 概括地讲,16位结构(16位机,字长为16位等常见说法,与16位结构的含义相同)描述了一个CPU具有下面几方面结构特性: 1.运算器一次最多可以处理16位的数据结构 2.寄存器的 ...

随机推荐

  1. 监控mysql执行的sql语句

    linux平台 监控mysql执行的sql语句   为了做好配合开发做性能和功能测试,方便监控正在执行的sql语句, 可以在/etc/mysqld中添加如下:  log =/usr/local/mys ...

  2. Android 数据库ORM框架GreenDao学习心得及使用总结<二>

    转:http://blog.csdn.net/xushuaic/article/details/24496191 第五篇 查询 查询会返回符合某些特定标准的实体.你可以使用原始的SQL定制查询语句,或 ...

  3. vb sqlite 使用 litex

    Private Declare Function LoadLibrary Lib "kernel32" Alias "LoadLibraryA" (ByVal ...

  4. 非阻塞IO

    设置描述符非阻塞的两种方法: 1,调用 open 时,设置,O_NONBLOCK; 2,调用 fcntl设置: 具体如下: ,open("/xxx/file1",O_RDWR|O_ ...

  5. 使用verilog实现4选1数据选择器的几种方法

    第一种方法module mux( d1, d2, d3, d4, se1, se2, dout ); input d1; input d2; input d3; input d4; input se1 ...

  6. 你可能不知道的一些JavaScript 奇技淫巧

    这里记录一下以前学习各种书籍和文章里边出现的JS的小技巧,分享给大家,也供自己查阅,同时感谢那些发现创造和分享这些技巧的前辈和大牛们. 1.遍历一个obj的属性到数组 var a=[]; for(a[ ...

  7. ora-01031:insufficient privileges 解决方案

    sqlplus /as sysdba 连补上,ora-01031的解决方法: (1)检查sqlnet.ora是否包含这句话:SQLNET.AUTHENTICATION_SERVICES=(NTS),没 ...

  8. JAVA集合LIST MAP SET详解

    1. 集合框架介绍 我们知道,计算机的优势在于处理大量的数据,在编程开发中,为处理大量的数据,必须具备相应的存储结构,之前学习的数组可以用来存储并处理大量类型相同的数据,但是通过上面的课后练习,会发现 ...

  9. 用纯jsp实现用户的登录、注册与退出

    用户的登录.注册和退出是一个系统最常见的功能,现将各功能用jsp代码表示出来 用户的登录: 其中connDB是数据库连接类,将用户名username放入session中 <%@ page con ...

  10. Neo4j数据库简单

    作为世界上先进的地图数据库,Neo4j如今,公司已成为许多互联网的首选.Neo4j它是基于java开源地图数据库开发,另外一个NoSQL数据库.Neo4j在保证对数据关系的良好刻画的同一时候.还支持传 ...