2011-01-27 2 views
2

Глядя на тот же эквивалент этого метода в C#SHA1 C# эквивалент этой Java

try { 
      MessageDigest md = MessageDigest.getInstance("SHA-1"); 
      md.update(password.getBytes()); 
      BigInteger hash = new BigInteger(1, md.digest()); 
      hashword = hash.toString(16); 
     } catch (NoSuchAlgorithmException ex) { 
      } 
} 
return hashword; 

ответ

3

Супер легкий в C#:

using System; 
using System.Text; 
using System.Security.Cryptography; 

namespace CSharpSandbox 
{ 
    class Program 
    { 
     public static string HashPassword(string input) 
     { 
      var sha1 = SHA1Managed.Create(); 
      byte[] inputBytes = Encoding.ASCII.GetBytes(input); 
      byte[] outputBytes = sha1.ComputeHash(inputBytes); 
      return BitConverter.ToString(outputBytes).Replace("-", "").ToLower(); 
     } 

     public static void Main(string[] args) 
     { 
      string output = HashPassword("The quick brown fox jumps over the lazy dog"); 
     } 
    } 
} 
1

Посмотрите Sha1CryptoServiceProvider. Это обеспечивает достаточную гибкость. Как и большинство алгоритмов в System.Security.Cryptography, он предоставляет методы обработки массивов и потоков байтов.

Смежные вопросы