首页 新闻 搜索 专区 学院

关于一个算法,我总是算不对。 希望算法达人能帮忙下。比较急

0
悬赏园豆:160 [已解决问题] 解决于 2012-02-28 12:04
 密文:fEqNCco3Yq9h5ZUglD3CZJT4lBs= 
原文:123456
说明:Portal ldap 密文密码    =     BASE64("{SHA}"+ BASE64(SHA-1(明文密码))) 
 
 

我是这样写的。


代码:
  
      private void button1_Click(object sender, EventArgs e)
{
Encoding myE = Encoding.GetEncoding("utf-8"); ;
string PwdSha=Get_SHA_Method1("123456").ToString();//SHA1

string ns = Convert.ToBase64String(System.Text.ASCIIEncoding.Default.GetBytes(PwdSha));
string miwen = Convert.ToBase64String(System.Text.ASCIIEncoding.Default.GetBytes("SHA" + ns));
textBox1.Text = miwen;
MessageBox.Show(miwen.Length.ToString());
}

public string Get_SHA_Method1(string strSource)
{
//new
System.Security.Cryptography.SHA1 sha = new System.Security.Cryptography.SHA1CryptoServiceProvider();
//获取密文字节数组
byte[] bytResult = sha.ComputeHash(System.Text.Encoding.Default.GetBytes(strSource));
//转换成字符串,32位
string strResult = BitConverter.ToString(bytResult);
//BitConverter转换出来的字符串会在每个字符中间产生一个分隔符,需要去除掉
strResult = strResult.Replace("-", "");
return strResult;
}

 
因为是做集成,我现在只有这样的东西来验证用户正确性。
Red Cat的主页 Red Cat | 初学一级 | 园豆:16
提问于:2012-02-27 17:54
< >
分享
最佳答案
0

你的说明是错误的;fEqNCco3Yq9h5ZUglD3CZJT4lBs= 是123456经过下面的算法结果:

1             byte[] src = System.Text.Encoding.Default.GetBytes("123456");
2 string dst = Convert.ToBase64String(SHA1.Create().ComputeHash(src));
3 MessageBox.Show(dst); //fEqNCco3Yq9h5ZUglD3CZJT4lBs=



收获园豆:160
ChatinCode | 老鸟四级 |园豆:2272 | 2012-02-28 09:42

....怎么不早早回答我的问题。。。都解决了才 回答。。。。 

Red Cat | 园豆:16 (初学一级) | 2012-02-28 12:04

@Red Cat: 不好意思,今天早上才看到的?

ChatinCode | 园豆:2272 (老鸟四级) | 2012-02-28 12:39

@ChatinCode: 不过也谢谢你啦。哈哈哈。

Red Cat | 园豆:16 (初学一级) | 2013-05-17 13:16
其他回答(3)
0

我还是没看明白你是想做什么

LCM | 园豆:6876 (大侠五级) | 2012-02-27 22:50
0

说说要干什么先。。。。。。。。。。。。。。

az235 | 园豆:8283 (大侠五级) | 2012-02-28 08:52
0

验证正确性!可以采用 crc32校验

JasNature | 园豆:451 (菜鸟二级) | 2012-02-28 09:41
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册