JAVA与.NET都熟悉的朋友进,代码改写问题。

问题描述

下面是一段.textblog中的密码加密代码,现在数据库中已经大量存在这些加密后的密码了,公司要求用JAVA再做一个入口,如果用户从JAVA口进入,也要判断用户名与密码是不是一致,但问题是那个是C#的专用加密算法,用JAVA如何实现呢?请教大家了!代码如下:strText=strText.ToLower();Byte[]clearBytes=newUnicodeEncoding().GetBytes(strText);Byte[]hashedBytes=((HashAlgorithm)CryptoConfig.CreateFromName("MD5")).ComputeHash(clearBytes);returnBitConverter.ToString(hashedBytes);

解决方案

解决方案二:
就是要一个MD5加密呗?
解决方案三:
md5加密嘛
解决方案四:
importjava.security.MessageDigest;/***@authorclosewbq*@version1.0*对密码进行加密和验证*/publicclassMD5Util{/***16进制下的映射数组*/privatefinalstaticString[]hexDigits={"0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"};/***将密码进行加密处理*@parampassword*@return加密后的字符串*/publicstaticStringgetPassByMD5(Stringpassword){returnstringByMD5(password);}/***验证登录密码是否正确*@parampassword加密后的密码*@paramloginPassword登录的密码*@return验证结果,TRUE:正确FALSE:错误*/publicstaticbooleanvalidatePassword(Stringpassword,StringloginPassword){if(password.equals(stringByMD5(loginPassword))){returntrue;}else{returnfalse;}}/***对字符串进行加密处理*@paramstrString*@return加密后的字符串*/privatestaticStringstringByMD5(StringstrString){if(strString!=null){try{//创建MD5算法的信息摘要MessageDigestmd=MessageDigest.getInstance("MD5");byte[]results=md.digest(strString.getBytes());//将得到的字节数组变成字符串返回StringresultString=byteArrayToHexString(results);returnresultString.toUpperCase();}catch(Exceptionex){ex.printStackTrace();}}returnnull;}/***转换字节数组为十六进制字符串*@param字节数组*@return十六进制字符串*/privatestaticStringbyteArrayToHexString(byte[]results){StringBufferresultSb=newStringBuffer();for(inti=0;i<results.length;i++){resultSb.append(byteToHexString(results[i]));}returnresultSb.toString();}/***将一个字节转化成十六进制形式的字符串*@paramb*@return十六进制形式的字符*/privatestaticStringbyteToHexString(byteb){intn=b;if(n<0)n=256+n;intd1=n/16;intd2=n%16;returnhexDigits[d1]+hexDigits[d2];}}

.net进行加密我们一般也不这么写呀,System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(str,"MD5");
解决方案五:
感谢各位的关注,但这个问题是个很精典的问题,比如:http://lendy.9846.com/blog/2009/01/07/php-dottext-password/请各位帮忙!
解决方案六:
MD5加密是个好办法
解决方案七:
那你就加密后再比较那样行不行加密解密这个没接触过
解决方案八:
引用3楼closewbq的回复:

Javacodeimportjava.security.MessageDigest;/***@authorclosewbq*@version1.0*对密码进行加密和验证*/publicclassMD5Util{/***16进制下的映射数组*/privatefinalstaticStri……

三楼正解,在.net中md5加密一句话就OK,楼主的方法就是重复造轮子
解决方案九:
引用7楼szvsking的回复:

引用3楼closewbq的回复:Javacodeimportjava.security.MessageDigest;/***@authorclosewbq*@version1.0*对密码进行加密和验证*/publicclassMD5Util{/***16进制下的映射数组*/privatefinals……

解决方案十:
楼主,其实你上面做的就是一个哈希算法,这种在怎么语言下都有,也不是c#下专有,我还以为什么问题呢。
解决方案十一:
好了,不说什么了,1234用C#算法加密完:0F-03-75-84-C9-9E-7F-D4-F4-F8-C5-95-50-F8-F5-07md5是:81dc9bdb52d04dc20036dbd8313ed055哪位用JAVA把1234加完MD5是上面c#那样,我二百分献上,不够再开一帖子
解决方案十二:
引用10楼littlehb的回复:

好了,不说什么了,1234用C#算法加密完:0F-03-75-84-C9-9E-7F-D4-F4-F8-C5-95-50-F8-F5-07md5是:81dc9bdb52d04dc20036dbd8313ed055哪位用JAVA把1234加完MD5是上面c#那样,我二百分献上,不够再开一帖子

是和81dc9bdb52d04dc20036dbd8313ed055这个一样?还是和0F-03-75-84-C9-9E-7F-D4-F4-F8-C5-95-50-F8-F5-07一样?
解决方案十三:
0F-03-75-84-C9-9E-7F-D4-F4-F8-C5-95-50-F8-F5-07一样
解决方案十四:
引用3楼closewbq的回复:

Javacodeimportjava.security.MessageDigest;/***@authorclosewbq*@version1.0*对密码进行加密和验证*/publicclassMD5Util{/***16进制下的映射数组*/privatefinal……

话说这个java的实现复杂了,不过比较通用!MessgeDigest是专门用来加密的类!publicStringtoMD5(Stringinput){MessageDigestdigest=MessageDigest.getInstance("MD5");byte[]res=digest.digest(input.getBytes());returntoHex(res);}privateStringtoHex(byte[]input){StringBufferbuffer=newStringBuffer();for(inti=0;i<input.length;i++){intlow=input[i]&0x0f;inthigh=(input[i]>>>4)&0x0f;buffer.append(Character.forDigit(high,16));buffer.append(Character.forDigit(low,16));}returnbuffer.toString();}

解决方案十五:
三楼的方法很好!
解决方案:
现在我的问题是对应不上,不是我不会使用MD5加密,各位明白?
解决方案:
楼主解决了吗?我也遇到这个问题了,急求!非常感谢啦
解决方案:
像这样的多程序入口,还是用webservice吧!!!C#写个webservice,java程序来调用就好了。

时间: 2024-09-20 21:07:22

JAVA与.NET都熟悉的朋友进,代码改写问题。的相关文章

JAVA基础培训(4) 熟悉属性/变量的访问权限

和前一个教程一样,我们也建了一个子目录,用来存放不同package的类 属性分为2种, 1 类实例的属性,属于某个类的实例所有,必须通过实例访问 2 类级的静态属性,属于类和所有实例所有,可通过类或者实例都可以访问 属性的权限分为 1 private 私有属性 2 [default] 默认属性,也就是啥都不写的那种,运行同一个package的访问 3 protected 被保护的属性,允许同一个package的访问,以及子类访问 4 public 公开的属性,可以被任何类访问 先看主类 less

虚拟机-求对nmap和端口扫描工具较熟悉的朋友进来看看

问题描述 求对nmap和端口扫描工具较熟悉的朋友进来看看 我在虚拟机中,使用nmap -sn 192.168.1.0/24,同时用wireshark抓包,-sn应该是ping吧,然而wireshark里是arp广播. 然后使用了nmap -PS 192.168.1.0/24,我看资料这里应该是用tcp syn进行扫描,但在wireshark里,先进行了arp广播,然后再进行了tcp扫描(这里的扫描并非广播,而是目的地址是arp广播的结果) 于是,我有如下的问题: 1.扫描存活主机,为什么都会先使

框架-JAVA问题:删除数据库中数据的代码,测试不会报错,但实际什么都删不了

问题描述 JAVA问题:删除数据库中数据的代码,测试不会报错,但实际什么都删不了 这些操作做完后,数据库里的t_product表中,id=2的数据依然在,不是刷新的问题,刷新也还在 解决方案 为什么你的三个函数保存.修改.删除方法调用sql的时候都没有传递sql参数值呢? 解决方案二: 调用mapper里面的sql代码的时候,把要删除的id传进去了吗?不应该是sqlsession.delete("",参数);吗? 解决方案三: 参数没带.sqlsession.delect带上id 解决

delphi-求地址匹配投递部程序,java或Delphi都可以(分值不够望见谅)

问题描述 求地址匹配投递部程序,java或Delphi都可以(分值不够望见谅) 导入一条地址信息,要求从数据库的地址库中匹配相应的投递部(地址节点信息包括:节点名,id,父id,投递部id) 现存在问题: (1)一条路可能对应多个投递部:例如东莞市 南城区 莞太路 33号 属于A投递部,34号属于B投递部 (2)导入地址不规范:东莞市 南城区 莞太路 33号 某某大厦 ,33号是A投递部,某某大厦是C投递部,这种情况以某某大厦为准 (3)基础地址信息多,怎么提高匹配效率呢 (4)地址节点表中:多

现在用java开发网站都需什么技术呢

问题描述 跪求现在用java开发网站都需要学习哪些知识呢?????是不是jsp+servlet+javaBean????现在流行的网站开发技术都有哪些???? 解决方案 解决方案二:strust2springhibernateextjsibatisjsjspservletcorejava等解决方案三:springspringmvcvelocity解决方案四:SSH,jquery,extjs解决方案五:引用1楼hxpjava1的回复: strust2springhibernateextjsibat

“处女座”的龙芯,都有哪些朋友?(上)

     2000年11月,龙芯CPU项目正式启动,经过一年多的孕育,2002年9月22日,龙芯1号正式面世.没错,龙芯是处女座.凡事要求尽善尽美.谨慎慢热,因为钻牛角尖而经历坎坷磨难.说来,这像极了已经13岁的龙芯. 经过数次改革,历次转向,龙芯也曾经浪费了金钱和精力.虽然它目前的表现不能称为成功的商业样本,但有几个事实也许能更好地描述龙芯: 1.龙芯2010年完成改组龙芯中科,从此成为公司,自负盈亏. 2.2015年,龙芯宣布实现了盈亏平衡. 3.龙芯宣布推出新一代的通用芯片,性能可以对标I

java代码-急求java高手,帮忙看下面的游戏代码,为何只能运行界面类然后其他都看不见也不能玩

问题描述 急求java高手,帮忙看下面的游戏代码,为何只能运行界面类然后其他都看不见也不能玩 //子弹Bullet类 package hy; import java.awt.Graphics; import java.awt.Image; import java.awt.Toolkit; public class Bullet { //坐标 public int x,y; //子弹大小 public int width,height; //子弹杀伤力 public int kill; //速度

用java开发servlet都用加什么包

问题描述 用java开发servlet都用加什么包 如题,好像是用到了一些jar包和什么api包,具体都用哪些,详细的说一下 解决方案 下一个tomcat就可以了,, 解决方案二: 一般会默认引用一些基础包,其他的自己用到什么包,再加什么包,一般编译器也会提示你,然后自动加入对应包 解决方案三: 你有tocate的安装包么?在tomcat的lib文件下,有个servlet-api.jar包,就是Servlet需要的jar包. 解决方案四: 不需要引入什么第三方包吧,只要在写类的时候继承servl

淘宝原创品牌的创始人们比谁都熟悉电商的规律

作为淘宝早期红利的受益者,淘宝原创品牌的创始人们比谁都熟悉电商的规律,早在 2011 年的黄金时期,他们便已经敏锐地嗅到了市场的潮流,策划着开发新品牌. 到现在,淘品牌的概念早已不像当初那样单薄,在茵曼.裂帛和韩都衣舍这几个淘宝买家们耳熟能详的名字背后是一长串的子品牌集群,尽管它们暂时未能如主品牌那样占尽前台的风光,不过,它们是淘品牌们押宝的下一张王牌. 纵观淘品牌从并购到自创子品牌的过程,或能为更多的电商从业者提供一个新的视角,去探索未来更多的可能性. 并购潮一触即发 要做子品牌,淘品牌的第一