谁有这个算法的Com组件?
或者有用asp/javascript等写的源代码?
急用!
请大家帮忙

解决方案 »

  1.   

    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);

      

  2.   

    使用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