Reputation: 6368
Looking for the same equivalent to this method in C#
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;
Upvotes: 4
Views: 4625
Reputation: 81516
Super easy in C#:
using System;
using System.Text;
using System.Security.Cryptography;
namespace CSharpSandbox
{
class Program
{
public static string HashPassword(string input)
{
var sha1 = SHA1.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");
}
}
}
Upvotes: 5
Reputation:
Have a look at Sha1CryptoServiceProvider. It provides a good amount of flexibility. Like most of the algorithms in System.Security.Cryptography, it provides methods for handling byte arrays and streams.
Upvotes: 1