string test = "Builder.com"; byte[] result = new byte[test.Length]; try { SHA1 sha = new SHA1CryptoServiceProvider(); result = sha.ComputeHash(System.Text.Encoding.UTF8.GetBytes(test)); Console.WriteLine(Convert.ToBase64String(result)); } catch (CryptographicExceptionce) { Console.WriteLine("Error: " + ce.Message); }
使用salt参数来改进hash: string test = "Builder.com"; byte[] salt = new byte[8]; string intermediate = null; try { SHA1 sha = new SHA1CryptoServiceProvider(); RNGCryptoServiceProviderrng = new RNGCryptoServiceProvider(); rng.GetBytes(salt); intermediate = Convert.ToBase64String(salt) + test; byte[] result = new byte[intermediate.Length]; result = sha.ComputeHash(System.Text.Encoding.UTF8.GetBytes(intermediate)); Console.WriteLine(Convert.ToBase64String(result)); } catch (CryptographicExceptionce) { Console.WriteLine("Error: " + ce.Message); } 以下是VB.NET中相同功能的代码: Dim test As String = "Builder.com" Dim result As Byte() Dim salt(8) As Byte Dim intermediate As String Try Dim sha As SHA1 sha = New SHA1CryptoServiceProvider Dim rng As RNGCryptoServiceProvider rng = New RNGCryptoServiceProvider rng.GetBytes(salt) intermediate = Convert.ToBase64String(salt) + test result = sha.ComputeHash(System.Text.Encoding.UTF8.GetBytes(intermediate)) Console.WriteLine(Convert.ToBase64String(result)) Catch ce As CryptographicException Console.WriteLine(ce.Message) End Try
byte[] result = new byte[test.Length];
try {
SHA1 sha = new SHA1CryptoServiceProvider();
result = sha.ComputeHash(System.Text.Encoding.UTF8.GetBytes(test));
Console.WriteLine(Convert.ToBase64String(result));
} catch (CryptographicExceptionce) {
Console.WriteLine("Error: " + ce.Message);
}
string test = "Builder.com";
byte[] salt = new byte[8];
string intermediate = null;
try {
SHA1 sha = new SHA1CryptoServiceProvider();
RNGCryptoServiceProviderrng = new RNGCryptoServiceProvider();
rng.GetBytes(salt);
intermediate = Convert.ToBase64String(salt) + test;
byte[] result = new byte[intermediate.Length];
result = sha.ComputeHash(System.Text.Encoding.UTF8.GetBytes(intermediate));
Console.WriteLine(Convert.ToBase64String(result));
} catch (CryptographicExceptionce) {
Console.WriteLine("Error: " + ce.Message);
}
以下是VB.NET中相同功能的代码:
Dim test As String = "Builder.com"
Dim result As Byte()
Dim salt(8) As Byte
Dim intermediate As String
Try
Dim sha As SHA1
sha = New SHA1CryptoServiceProvider
Dim rng As RNGCryptoServiceProvider
rng = New RNGCryptoServiceProvider
rng.GetBytes(salt)
intermediate = Convert.ToBase64String(salt) + test
result = sha.ComputeHash(System.Text.Encoding.UTF8.GetBytes(intermediate))
Console.WriteLine(Convert.ToBase64String(result))
Catch ce As CryptographicException
Console.WriteLine(ce.Message)
End Try