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

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4.286 из 5