Sha1, реализация аналога php функции - C#
Формулировка задачи:
Помогите написать аналог php функции на c#,вот то что я написал,но результат не тот(
Вот сама функция
StringBuilder majorsalt = new StringBuilder();
byte[] hash;
SHA1 sha1 = new SHA1CryptoServiceProvider();
for (int i=0;i<tb_password.Text.Length;i++)
{
hash=sha1.ComputeHash(Encoding.Unicode.GetBytes(tb_password.Text[i].ToString()));
foreach (byte b in hash)
majorsalt.AppendFormat("{0:x2}", b);
}
hash = sha1.ComputeHash(Encoding.Unicode.GetBytes(majorsalt.ToString()));
var sb = new StringBuilder();
foreach (byte b in hash)
sb.AppendFormat("{0:x2}", b);
MessageBox.Show(sb.ToString());function hesk_Pass2Hash($plaintext) {
$majorsalt = '';
$len = strlen($plaintext);
for ($i=0;$i<$len;$i++)
{
$majorsalt .= sha1(substr($plaintext,$i,1));
}
$corehash = sha1($majorsalt);
return $corehash;
}Решение задачи: «Sha1, реализация аналога php функции»
textual
Листинг программы
public static string sha1(string str)
{
var sha1 = SHA1.Create();
var hash = sha1.ComputeHash(Encoding.UTF8.GetBytes(str));
var sb = new StringBuilder();
foreach (byte temp in hash)
{
sb.AppendFormat("{0:x2}", temp);
}
return sb.ToString();
}