سؤال

I'm using SHA1 to encrypt some values like password. This is my code:

String passwd = Membership.GeneratePassword(10, 2);
SHA1 sha = new SHA1CryptoServiceProvider();
byte [] password = sha.ComputeHash(passwd);

But VS returns error, because passwd is a string. I have to store the password in a byte array, so is there a way to solve this?

هل كانت مفيدة؟

المحلول

String passwd = Membership.GeneratePassword(10, 2);
byte[] bytes = System.Text.Encoding.UTF8.GetBytes(passwd);
SHA1 sha = new SHA1CryptoServiceProvider();
byte [] password = sha.ComputeHash(bytes);

Note that SHA1 does not encrypt data but hash them instead. Encrypted data can be decrypted. Hash algorithms are one way.

نصائح أخرى

Use an Encoding to convert the string to a byte array

var bytes= Encoding.UTF8.GetBytes(passwd);
var password = sha.ComputeHash(bytes);
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top