首页 新闻 会员 周边

php 和C#的加密转换

0
悬赏园豆:20 [已解决问题] 解决于 2013-06-24 13:31

php的加密代码大致就是这样的

主要是php中 hash和md5这俩函数在C#中是什么方法? 我就是简单的把字符给md5了两次了.

Rookier的主页 Rookier | 小虾三级 | 园豆:652
提问于:2013-01-05 17:39
< >
分享
最佳答案
0

public static string ToMD5Hash(string str)
{
System.Security.Cryptography.MD5CryptoServiceProvider md = new System.Security.Cryptography.MD5CryptoServiceProvider();
byte[] value, hash;
value = System.Text.Encoding.UTF8.GetBytes(str);
// 加密后是一个字节类型的数组,这里要注意编码UTF8/Unicode等的选择
hash = md.ComputeHash(value);
md.Clear();
string pwd = "";
// 通过使用循环,将字节类型的数组转换为字符串,此字符串是常规字符格式化所得
for (int i = 0, len = hash.Length; i < len; i++)
{
// 将得到的字符串使用十六进制类型格式。格式后的字符是小写的字母,如果使用大写(X)则格式后的字符是大写字符
pwd += hash[i].ToString("X").PadLeft(2, '0');
}
return pwd;
}

 

收获园豆:1
David·Li | 初学一级 |园豆:76 | 2013-01-05 21:55

这个跟我写的那个C#代码不是一样的么  

private string GetHash(string sourcestr)
{
return FormsAuthentication.HashPasswordForStoringInConfigFile(sourcestr, "MD5");
//MD5 md5 = MD5.Create();
//byte[] source = md5.ComputeHash(Encoding.UTF8.GetBytes(sourcestr));
//StringBuilder sBuilder = new StringBuilder();
//for (int i = 0; i < source.Length; i++)
//{
// sBuilder.Append(source[i].ToString("x"));
//}
//return sBuilder.ToString();
}

Rookier | 园豆:652 (小虾三级) | 2013-01-06 09:21
其他回答(4)
0

楼主,怎么不太明白你的问题啊

收获园豆:5
chenping2008 | 园豆:9836 (大侠五级) | 2013-01-05 18:15

就是把上面的php的那段代码 用C#来写该怎么写

支持(0) 反对(0) Rookier | 园豆:652 (小虾三级) | 2013-01-06 09:19

md5(string1.string2.string3.hash[string4]) 这样的php代码 换成C#的代码该怎么写,是这么个意思

支持(0) 反对(0) Rookier | 园豆:652 (小虾三级) | 2013-01-06 09:26

@chenping2008: http://www.ccvita.com/332.html php中的hash 和md5方法的结果都是一样的?

支持(0) 反对(0) Rookier | 园豆:652 (小虾三级) | 2013-01-06 09:41
0

bumingbai....

收获园豆:5
羽商宫 | 园豆:2490 (老鸟四级) | 2013-01-05 19:04

就是把上面的php的那段代码 用C#来写该怎么写

支持(0) 反对(0) Rookier | 园豆:652 (小虾三级) | 2013-01-06 09:19
0

同样不太明白

收获园豆:4
jerry-Tom | 园豆:4077 (老鸟四级) | 2013-01-06 16:17
0

不明白

收获园豆:5
shineme | 园豆:29 (初学一级) | 2013-01-16 00:31
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册