读书人

java代码翻译成C#多谢

发布时间: 2012-01-15 22:57:48 作者: rapoo

java代码翻译成C#,谢谢
//java代码如下
MessageDigest md5 = MessageDigest.getInstance("SHA");
//请翻译成C#代码

[解决办法]
c#里有密码的命名空间,里面有md5、rsa的算法,好像叫什么security什么的
[解决办法]
是不是这样啊?
System.Security.Cryptography.MD5 MD =System.Security.Cryptography.MD5.Create("SHA");
[解决办法]
SHA已经被破解,应使用SHA1。
再说了,这样翻译一句没有实际意义,应该将一段有意义的java代码,用C#实现就可以,不一定一一对应。
.net中有专门的类处理加密码解密问题,直接查看帮助就可以。
比如:

C# code
    //创建SHA1类的实例,SHA1是抽象类(abstract)所以不能直接实例化SHA1 sha1 = SHA1.Create(); //Unicode.GetBytes获得string的Unicode(双字节字符)字节流byte[] hashedPassword = sha1.ComputeHash(Encoding.Unicode.GetBytes("abcdefg"));
[解决办法]
C# code
//得到srcStr的哈希值(16进制),根据你需要的算法"MD5"可以改为"SHA1"string str = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(srcStr, "MD5");
[解决办法]
探讨
谢谢!在System.Security.Cryptography下面后很多类,象下面的
System.Security.Cryptography.SHA1;
System.Security.Cryptography.SHA1CryptoServiceProvider;
System.Security.Cryptography.SHA256;
等,我都测试过了,但是好像和我想要的结果不一致

[解决办法]
Convert.ToBase64String
[解决办法]
答案贴上来啊
别忘了
谢谢
[解决办法]
看看PasswordDeriveBytes类是不是你要找的东西,你可以指定要计算的数据和salt值,然后输出经过salt处理的加密密钥,再使用这个加密密钥进行下一步计算。
[解决办法]
貌似很多人都忘记一个问题,不同系统用的编码是不同的。请问Java处理字符串时默认用的编码是什么?

读书人网 >C#

热点推荐