首页
社区
课程
招聘
[求助]算法达人进(DoNet) 这样写哪错了吗?
发表于: 2012-2-27 18:07 4543

[求助]算法达人进(DoNet) 这样写哪错了吗?

2012-2-27 18:07
4543
密文: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;
        }

[课程]Linux pwn 探索篇!

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 4878
活跃值: (3122)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
我算出来是这样了。
U0hBTjBNMFFUaEVNRGxEUVRNM05qSkJSall4UlRVNU5USXdPVFF6UkVNeU5qUTVORVk0T1RReFFnPT0=
2012-2-27 18:08
0
雪    币: 1760
活跃值: (1616)
能力值: ( LV12,RANK:222 )
在线值:
发帖
回帖
粉丝
3
大概原因是你的SHR算出来是用的字符串表示的,而不是BYTE数据。BitConverter.ToString这里不要,直接base64
2012-2-27 18:34
0
雪    币: 4878
活跃值: (3122)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
去除了BitConverter
结果是这样U0hBZkVxTkNjbzNZcTloNVpVZ2xEM0NaSlQ0bEJzPQ==
2012-2-27 18:44
0
雪    币: 4878
活跃值: (3122)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
谢谢,做出来了。
去除了BitConverter  把说明改一下就OK。。。给我说明的人害死我了。

"{SHA}"+BASE64(BASE64(SHA-1(明文密码)))
{SHA}fEqNCco3Yq9h5ZUglD3CZJT4lBs=
2012-2-27 18:53
0
游客
登录 | 注册 方可回帖
返回
//