我对xamarin还是很陌生,目前,我需要对用户密码进行哈希处理,然后再将其发送到api,以验证通过网络发送纯文本是否存在安全风险。
在我的Web应用程序中,我使用Microsoft.AspNet.Identity哈希密码并将其保存到数据库中
public UserManager<IdentityUser> UserManager { get; private set; }
string strPasswordHash = UserManager.PasswordHasher.HashPassword(viewModel.Password);
我正在尝试获得与此相同的哈希算法,但未成功。所以我想知道这是否有可能在xamarin中获得相同的哈希值
因此,当对以下测试密码“ TestP @ ssw0rd”进行哈希处理时,我将得到“ AKtowbhuu47Dn4Pk8r4SM4zKo6P7N / N27afp6aDBL4sroWzOiXucrSG6kiHrjU2Ayw ==“”,因此我将如何在xamarin中使用相同的密码将相同的NetAthA密码发送给我的api。 ()验证2个哈希密码。
答案 0 :(得分:0)
使用System.Security.Cryptography
public string MD5Hash(string input)
{
System.Security.Cryptography.SHA512Managed sha512 = new System.Security.Cryptography.SHA512Managed();
Byte[] EncryptedSHA512 = sha512.ComputeHash(System.Text.Encoding.UTF8.GetBytes(string.Concat(input, securityCode)));
sha512.Clear();
return Convert.ToBase64String(EncryptedSHA512);
}
输入是您的纯文本,securityCode是添加密码以创建安全的哈希码, 您必须定义并分配安全代码