MD5:js,java,C#三种语言加密结果不同解决办法
最近遇到前端js MD5加密与后端C#与Java MD5加密结果不一致的问题,所以写个关于此问题的解决办法
前端js引用的md5类库,类库地址:https://blueimp.github.io/JavaScript-MD5/
这个是没有办法动的
所以修改了一下java与C#的md5算法,代码如下:
C#代码
#region 获取MD5加密
public static string GetMD5(string inputString)
{
using (MD5CryptoServiceProvider mD5CryptoServiceProvider = new MD5CryptoServiceProvider())
{
byte[] bytes = Encoding.UTF8.GetBytes(inputString);
byte[] array = mD5CryptoServiceProvider.ComputeHash(bytes);
StringBuilder sb = new StringBuilder();
foreach (var a in array)
{
sb.AppendFormat("{0:x2}", a);
}
return sb.ToString();
}
}
#endregion
}
Java代码如下:
public static String GetMD5(String inputString) throws Exception {
MessageDigest md5 = MessageDigest.getInstance("MD5");
byte[] bytes = inputString.getBytes("UTF-8");
byte[] array = md5.digest(bytes);
StringBuilder sb = new StringBuilder();
for (byte b : array) {
if(Integer.toHexString(0xFF & b).length() == 1)
{
sb.append("0").append(Integer.toHexString(0xFF & b));
}
else {
sb.append(Integer.toHexString(0xFF & b));
}
}
return sb.toString();
}

MD5:js,java,C#三种语言加密结果不同解决办法的更多相关文章
- 用VMWare搭建服务器集群不能上外网的三种模式下对应解决办法
前言 决心要花费宝贵时间写下这篇心得,是因为从昨天晚上到今天上午被这个VMWare模拟搭建的服务器集群不能上外网的问题搞得很心烦,最后决定跟它杠上了!上午还通过远程连接得到了“空白”同学的帮助,在此表 ...
- 插入算法分别从C,java,python三种语言进行书写
真正学懂计算机的人(不只是“编程匠”)都对数学有相当的造诣,既能用科学家的严谨思维来求证,也能用工程师的务实手段来解决问题——而这种思维和手段的最佳演绎就是“算法”. 作为一个初级编程人员或者说是一个 ...
- AES加密php,java,.net三种语言同步实现加密、解密
话不多数上代码: java::: /* * To change this license header, choose License Headers in Project Properties. * ...
- java php c# 三种语言的AES加密互转
java php c# 三种语言的AES加密互转 最近做的项目中有一个领取优惠券的功能,项目是用php写得,不得不佩服,php自带的方法简洁而又方便好用.项目是为平台为其他公司发放优惠券,结果很囧的是 ...
- Java的三种代理模式
Java的三种代理模式 1.代理模式 代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩 ...
- Java的三种代理模式简述
本文着重讲述三种代理模式在java代码中如何写出,为保证文章的针对性,暂且不讨论底层实现原理,具体的原理将在下一篇博文中讲述. 代理模式是什么 代理模式是一种设计模式,简单说即是在不改变源码的情况下, ...
- 研究分析JS中的三种逻辑语句
JS中的三种逻辑语句:顺序.分支和循环语句. 一.顺序语句 代码规范如下:1. <script type="text/javascript"> var a = 10; ...
- 理解java的三种代理模式
代理模式是什么 代理模式是一种设计模式,简单说即是在不改变源码的情况下,实现对目标对象的功能扩展. 比如有个歌手对象叫Singer,这个对象有一个唱歌方法叫sing(). 1 public class ...
- java 的三种代理
java的三种代理模式 1.代理模式 代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作, ...
随机推荐
- ubuntu netstat 查看端口占用情况
netstat 用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships ...
- 实现三个div,固定左右两边的div宽为200,中间的div宽度自适应的四种方法
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- while循环计算1-100和,1-100内偶数/奇数/被整除的数的和
文章地址 https://www.cnblogs.com/sandraryan/ <!DOCTYPE html> <html lang="en"> < ...
- P1108 分解质因数
题目描述 给你一个正整数 \(n\) ,请给 \(n\) 分解质因数,并按照样例输出的格式输出对应的结果. 输入格式 输入包含一个正整数 \(n (2 \le n \le 10^9)\) . 输出格式 ...
- H3C IEEE EUI-64格式
- ASP.NET MVC 实现页落网资源分享网站+充值管理+后台管理(2)之创建项目
我们在创建项目的时候一定要遵循层次和命名的原则,同时也要有统一的规范,无论是多人项目还是单人项目,能够让人看着一目了然并赏析悦目,做一个有追求的程序员. 例如IA.WebApp是视图控制器层(表现层) ...
- Linux环境下安装mysql(远程连接),zookeeper,java,tomcat.
环境阿里云centos7.5 64位 + FinalShell + Navicat Permium 12 用到的压缩包(版本看后缀) 注意:安装均在/usr/local目录下,下面代码中#号不要复制上 ...
- eslint的使用和配置
eslint的使用和配置 什么是eslint ESLint 是在 ECMAScript/JavaScript 代码中识别和报告模式匹配的工具,它的目标是保证代码的一致性和避免错误.在许多方面,它和 J ...
- 【37.48%】【hdu 2587】How far away ?(3篇文章,3种做法,LCA之ST算法(RMQ))
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s) ...
- apply call 用法
1.对象转数组 tips 先看怎么用 再研究方法原理 var obj = { 0: 'qian', 1: 'long', 2: 'chu', 3: 'tian', ...