账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    C# 的pbkdf2可以调用多次, go的怎么弄?
    • 2019-05-10 00:00
    • 10
    17
    0

    https://dotnetfiddle.net/Widg...

    C#调用多次每次结果都不一样

    using System;
    using System.Text;
    using System.Security.Cryptography;
    
    
    public class Program
    {
        public static void Main()
        {
            byte[] bytes = Encoding.UTF8.GetBytes("salt salt salt");
            Rfc2898DeriveBytes rfc2898DeriveBytes = new Rfc2898DeriveBytes("some password", bytes);
            rfc2898DeriveBytes.IterationCount = 1000;
            for (var i = 0; i < 10; i++) {
                var a = rfc2898DeriveBytes.GetBytes(16);
                Console.WriteLine("Encoded string: " + BitConverter.ToString(a));
            }
            
        }
    }
    Encoded string: 2B-E7-51-50-97-74-2E-4A-E5-AE-D3-6D-21-12-A8-EE
    Encoded string: 85-C7-42-8E-A3-BA-DE-C9-0A-E2-5F-EF-07-95-EA-B3
    Encoded string: 95-61-DE-B9-8D-C7-07-CD-6B-15-1B-3E-F8-54-18-78
    Encoded string: AD-F1-19-67-78-DC-87-3F-4C-FB-81-CF-5F-72-5B-11
    Encoded string: 37-74-4B-34-54-F5-48-CB-DE-5D-04-C7-C2-CC-69-55
    Encoded string: FA-FF-2B-BF-F9-3B-D4-BC-5F-31-80-CE-B0-55-1B-BB
    Encoded string: CC-E2-5D-8A-91-51-47-F4-93-C2-6C-DD-2E-87-DB-2B
    Encoded string: 2D-4B-E0-8B-9E-1D-95-9E-E9-1B-E8-A9-7B-EC-DC-C6
    Encoded string: 9A-4E-1C-31-92-9D-05-18-38-16-D7-DA-35-E5-3C-57
    Encoded string: 77-E1-3A-FB-C2-99-D6-57-06-4D-98-29-2D-14-B1-FE

    golang的只能生成一个

    package main
    
    import (
        "crypto/sha1"
        "fmt"
        "golang.org/x/crypto/pbkdf2"
    )
    
    func main() {
        dk1 := pbkdf2.Key([]byte("test"), []byte("test"), 1000, 16, sha1.New)
        dk2 := pbkdf2.Key([]byte("test"), []byte("test"), 1000, 16, sha1.New)
        fmt.Println(dk1)
        fmt.Println(dk2)
    }

    调用两次的结果是一样的

    [120 95 112 156 17 50 179 67 179 47 155 230 71 243 135 24]
    [120 95 112 156 17 50 179 67 179 47 155 230 71 243 135 24]

    golang的能生成多个不一样的吗?

    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 10 元积分
        全部回答
    • 0
    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部