`

32位MD5与16位的MD5互相转换

    博客分类:
  • java
阅读更多
  1. package  com.httpconnection.test;
  2. import  java.security.MessageDigest ;
  3. import  java.security.NoSuchAlgorithmException ;
  4. public  class  Md5Test {
  5.     private  static  void  Md5(String  plainText) {
  6.         try  {
  7.             MessageDigest  md = MessageDigest .getInstance("MD5" );
  8.             md.update(plainText.getBytes());
  9.             byte  b[] = md.digest();//16位的MD5
  10.             int  i;
  11.             System .out.println(b.length );//
  12.             StringBuffer  buf = new  StringBuffer ("" );
  13.             for  (int  offset = 0; offset < b.length ; offset++) {
  14.                 i = b[offset];
  15.                 System .out.print(i+" " );
  16.                 if  (i < 0)
  17.                     i += 256;
  18.                 if  (i < 16)
  19.                     buf.append("0" );                
  20.                 buf.append(Integer .toHexString(i));
  21.             }
  22.             System .out.println();
  23.             String  temp=buf.toString();
  24.             System .out.println("result: "  +temp );// 32位的加密
  25.             //以上是把字符串加密成32位的
  26.             //接下来把32位的MD5转换成16位的
  27.             byte  [] bb=new  byte [16];
  28.             int  m=0;
  29.             for (int  j=0;j<32;j+=2)
  30.             {
  31.                 int  num=Integer .valueOf(temp.substring(j, j+2),16);
  32.                 if (num>127)
  33.                 {
  34.                     bb[m]=(byte ) (num-256);
  35.                     System .out.print((num-256)+" " );
  36.                 }
  37.                 else
  38.                 {
  39.                     bb[m]=(byte ) (num);
  40.                     System .out.print(num+" " );
  41.                 }
  42.                 m++;
  43.             }
  44.             System .out.println();
  45.             String  rr=Tools.byteToLowcaseStr(bb, 0, 16);
  46.             System .out.println(rr);
  47.         } catch  (NoSuchAlgorithmException  e) {
  48.             // TODO Auto-generated catch block
  49.             e.printStackTrace();
  50.         }
  51.     }
  52.     public  static  void  main(String  [] args)
  53.     {
  54.         String  pass="1zxv中国rqwe" ;
  55.         Md5(pass);
  56.     }
  57. }
分享到:
评论
1 楼 tanjianna 2011-12-10  
Tools 是什么?贴出来!

相关推荐

    java后台及前端js使用AES互相加解密及前端md5加密

    注意,密钥必须是16、24或32字节,对应128、192或256位的AES密钥。 3. **前端JavaScript AES加解密**:在JavaScript环境中,由于安全性限制,不能直接操作底层的加密算法,所以通常需要依赖第三方库,如CryptoJS。...

    byte[]与各种数据类型互相转换示例.md

    byte[]与各种数据类型互相转换示例

    js-md后缀名互相转换深度检索.zip

    工作中,邮箱发送文件,对js文件会拦截。有时候需要批量更改文件后缀名,再将后缀名复原。所以写了这个bat文件,放在文件夹里,点击一下bat文件,就可以修改当前文件夹及以下所有符合条件的文件后缀名。...

    docx2md:将Microsoft Word文档转换为Markdown

    将Microsoft Word文档转换为Markdown 用法 $ docx2md NewDocument.docx 安装 $ go get github.com/mattn/docx2md 支持的样式 标头 超链接 缩进 表 清单 胆大 斜体 罢工 嵌入图片 执照 麻省理工学院 作者 松本康宏

    万能编码转换器 converter v0.4中文

    Converter是通用的编码互相转换的工具,适应于所有的...2、MD5_16 、 MD5_ 32 、vbUnicode、vbFormUnicode、简体转繁体、繁体转简体。 3、Unicode转换ASCII,ASCII转换Unicode,UTF8 乱码、UTF 8乱码转正常GB-BIG 5。

    最强文档转换工具pandoc,支持各种主流文档格式互相转换(xml、md、html、doc、rtf、ppt等)

    安装后,直接通过命令行运行: &gt; pandoc input.html -o output.docx 支持批量转换。更多丰富用法参考命令帮助

    h5前端学习笔记

    8. **javascript时间戳和日期字符串相互转换.txt**:这部分内容可能讲解了JavaScript中Date对象的使用,如何将时间戳与日期字符串互相转换,以及涉及到的时间和日期格式化。 综合以上信息,这份“h5前端学习笔记”...

    字符串文件http密码资源文件openoffice图片等工具等

    BeanHelper提供了bean类与map的互相转换 PropertiesUtil实现对properties文件的读与写,参数文件名不包括.properties SysConfig实现对指定系统资源文件(config/sysConfig.properties)的读取操作,利用修改时间判断...

    西门子PLC实数和长整数之间的转换

    在西门子PLC中,实数和长整数是常见的数据类型,它们在应用中经常需要进行互相转换。本文将详细介绍西门子PLC中实数和长整数之间的转换方法,以及在转换过程中可能遇到的问题和解决方案。 首先需要了解的是,西门子...

    Tools Box程序员日常常用算法集成工具箱

    包括大小字母转换、时间戳转换、ASCII和BCD互相转换、BCD到无符号长整型数互相转换、基本异或操作、CRC算法、MD5、SHA1、SHA224、SHA256、SHA384、SHA512、DES/3DES、MAC算法、RSA算法、SM算法:SM2/SM3/SM4、中文到...

    文件、数据转换、验证

    - **JSON互转**:JSON是一种轻量级的数据交换格式,`JsonHelper.cs` 可能包含将JSON字符串与对象互相转换的函数。 3. **验证**:`StringValidator.cs` 可能包含一系列字符串验证方法,如检查格式、长度、有效性等...

    字符进制编码转换工具

    2. **进制转换**:提供数字在不同进制间的转换服务,比如二进制、八进制、十进制和十六进制之间的互相转换。 3. **MD5查询**:MD5是一种广泛使用的散列函数,可以将任意长度的信息映射为固定长度的摘要。工具可能...

    onvif 中文文档 md

    5. **配置与控制**:通过ONVIF,用户可以远程配置设备参数,如视频分辨率、帧率、编码方式等,并控制PTZ功能,如平移、俯仰、缩放。 6. **安全特性**:ONVIF支持多种安全协议,如HTTPS、TLS(Transport Layer ...

    万能编码转换器 converter v0.4中文.rar

    Converter是通用的编码互相转换的工具,适应于所有的...2、MD5_16 、 MD5_ 32 、vbUnicode、vbFormUnicode、简体转繁体、繁体转简体。 3、Unicode转换ASCII,ASCII转换Unicode,UTF8 乱码、UTF 8乱码转正常GB-BIG 5。

    Matlab与信号处理基础.md

    #### 二、时域信号分析与处理 **2.1 时域信号分析** - **时域分析的方法与工具:** - **平均:** 平滑信号,去除高频噪声。 - **傅里叶级数展开:** 将周期信号表示为一系列正弦波的叠加。 - **自相关分析:** ...

    postgres 数据库中的数据转换

    5. PostgreSQL的特殊类型,如`regproc`、`regclass`等,它们可以互相转换,或者与整数类型转换。 6. 甚至还有布尔值到整数的转换,如`bool`到`int4`。 这些只是众多转换中的一部分。在实际应用中,你可能需要根据...

    ROM编辑破解版

    ROM重新打包制作软件 1、一键批量制作线刷包和卡刷包、智能解包封包预装,ROM制作工具官方版支持多种专业ROM定制功能,提供优质...5、支持img分割合并、线刷包转卡刷包、img/dat互相转换、zip/apk签名、md5计算等功能;

    纯PHP代码实现HTML与MarkDown互转

    在网上找到的国外开源工具,主要使用PHP实现Html与MarkDown互相转换。因为在网络上很难找到HTML转MarkDwon的相关文档,故分享一下。项目中实际亲测可用。在代码的基础上,加了一些中文注释。便于理解代码。注释可能...

    2 线程同步机制.md,学习代码

    5. **TimeUnit**:`TimeUnit`枚举类在`java.util.concurrent`包中,用于在各种时间单位之间进行转换,并在等待和超时操作中使用。例如,`Thread.sleep(long timeout, TimeUnit unit)`方法允许指定一个精确的延迟时间...

Global site tag (gtag.js) - Google Analytics