md5 + SHA1

blamingas

Client
Регистрация
14.05.2021
Сообщения
114
Благодарностей
45
Баллы
28
Из документации сервиса есть образец токена под PHP, не подскажете, как его переделать для c#?

PHP:
$data="data";
$secret="secret";
$signature=sha1(md5($data.$secret))
Директивы System.Security.Cryptography добавил, нашёл отдельно сниппеты для sha1 и md5 , но подружить их не получается.
 
Последнее редактирование:

blamingas

Client
Регистрация
14.05.2021
Сообщения
114
Благодарностей
45
Баллы
28
После 4-часового кастрирования одних сниппетов другими с практически нулевыми знаниями C#, таки удалось сдружить два шифрования.
Возможно кому пригодится: вычисление signature для API ПpивaтБaнкa:

C#:
var message = project.Variables["Data"].Value;
var secret = project.Variables["Secret"].Value;

//считаем MD5
string data = string.Join(string.Empty, new[]{message, secret});
MD5 md5 = System.Security.Cryptography.MD5.Create();
byte[] inputBytes = System.Text.Encoding.ASCII.GetBytes(data);
byte[] hash = md5.ComputeHash(inputBytes);
System.Text.StringBuilder sb = new System.Text.StringBuilder();
for (int i = 0; i < hash.Length; i++)
    {
        sb.Append(hash[i].ToString("X2"));
    }
string md5hash = sb.ToString().ToLower();
   
//считаем SHA1  
var sha1 = new System.Security.Cryptography.SHA1Managed();
    var plaintextBytes = Encoding.UTF8.GetBytes(md5hash);
    var hashBytes = sha1.ComputeHash(plaintextBytes);

    var sb1 = new StringBuilder();
    foreach (var hashByte in hashBytes)
    {
        sb1.AppendFormat("{0:x2}", hashByte);
    }

    var Signature = sb1.ToString();
    return Signature;
 
  • Спасибо
Реакции: ShikoFess

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)