Пример #1
0
        public void GetMd5Hash()
        {
            string actual = CryptoExt.GetMd5Hash("lys", "salt", EncodeType.Hex);
            string expect = "253eb762911ca80042e997d12448b0c6";

            Assert.AreEqual(expect, actual);
        }
Пример #2
0
        public void GetHmacHash()
        {
            string actual  = EncodingExt.ToBase64Url(CryptoExt.GetHmacHash("HMACSHA256", "lys", "salt"));
            string actual2 = EncodingExt.ToBase64Url(CryptoExt.GetHmacHash <HMACSHA256>("lys", "salt"));
            string expect  = "Liof_mjT4Kd1V7I7ItvcTGO3yBezkbN0UVDHXm7m1Vg";

            Assert.AreEqual(expect, actual);
            Assert.AreEqual(expect, actual2);
        }
Пример #3
0
        public void Login(UserDto dto)
        {
            var user = _userMng.Load(dto.UserName);

            // 测试用(数据库密码存储采用 md5(pwd),pwd是注册的原始密码)
            user.Pwd = CryptoExt.GetMd5Hash("", null, EncodeType.Hex);

            // 校验密码(前端密码加密格式为 md5(md5(pwd).salt))
            string secrt = CryptoExt.GetMd5Hash(user.Pwd, dicSecret[dto.UserName], EncodeType.Hex);

            if (!secrt.EqualsNoCase(dto.Password))
            {
                dicSecret.Remove(dto.UserName);
                throw new ValidateException("用户名或密码错误!");
            }

            dicSecret.Remove(dto.UserName);
        }
Пример #4
0
 public string ComputeHash(string header, string payload, string salt)
 {
     return(CryptoExt.GetHmacHash(TokenConfig.Alg, $"{header}.{payload}", salt, EncodeType.Encode));
 }