У меня есть код ac #, который преобразует строку в md5, а затем кодирует base64.Я хотел бы сделать то же самое с Perl-скриптом или Linux Cli, OpenSSL.Я попытался с помощью OpenSSL Cli, но я получаю другой результат из кода C #.Может кто-нибудь объяснить и показать мне, как преобразовать код C # в Linux Linux или Perl-скрипт?
Спасибо.
public class Program {
public static void Main() {
var myString = "7512";
var o = CalculateMD5Hash(myString);
Console.WriteLine("Generated String is: {0}", o);
}
public static string CalculateMD5Hash(string input) {
HashAlgorithm ha = new MD5CryptoServiceProvider();
string prefix = "MD5:";
string password = "";
UnicodeEncoding enc = new UnicodeEncoding();
password = Convert.ToBase64String(ha.ComputeHash(enc.GetBytes(input)));
return prefix+password;
}
}
# Linux openssl cli
echo -ne '7512' | openssl dgst -md5 -binary | openssl base64
Когда я запускаю код c # со строкой: 7512, я получаю: cA5YjDeU2fOJwwnVFPCuAw ==
Но когда я использую команду openssl cli, я получаю: FhxcWtUfzIhBV4kFEbPIsA =1008 *