c# – 使用.NET进行安全密码编程
发布时间:2020-12-16 01:50:46 所属栏目:百科 来源:网络整理
导读:我想在安全哈希码中转换安全密码.最好的方法? 像:SHA1,MD5和任何组合? string str ="Krishna";Output:"!#$!$ASDFAS@#$%@"; 解决方法 有不同的方法可以创建可用于腌制的随机数据.最常见的是: 使用Guid类型创建随机GUID 使用RNGCryptoServiceProvider类创
我想在安全哈希码中转换安全密码.最好的方法?
像:SHA1,MD5和任何组合? string str ="Krishna"; Output:"!#$!$ASDFAS@#$%@"; 解决方法
有不同的方法可以创建可用于腌制的随机数据.最常见的是:
>使用Guid类型创建随机GUID 要创建新的随机GUID,我们在Guid类型上调用NewGuid方法.生成后,我们只需将salt附加到要加密的字符串即可. string saltAsString = Guid.NewGuid().ToString(); 要使用RNGCryptoServiceProvider类创建随机数字字符串,我们首先初始化提供程序和字节数组,然后在我们的提供程序实例上调用GetBytes方法. byte[] saltInBytes = new byte[8]; RNGCryptoServiceProvider saltGenerator = new RNGCryptoServiceProvider(); saltGenerator.GetBytes(saltInBytes); string saltAsString = Convert.ToBase64String(saltInBytes); 以下代码是上一个代码片段的修改版本,用于演示salting. public void HashText() { string textToHash = "password"; string saltAsString = Guid.NewGuid().ToString(); byte[] byteRepresentation = UnicodeEncoding.UTF8.GetBytes(textToHash + saltAsString); byte[] hashedTextInBytes = null; MD5CryptoServiceProvider myMD5 = new MD5CryptoServiceProvider(); hashedTextInBytes = myMD5.ComputeHash(byteRepresentation); string hashedText = Convert.ToBase64String(hashedTextInBytes); // will display X03MO1qnZdYdgyfeuILPmQ== MessageBox.Show(hashedText); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |