Мы были посланы эту формулу, чтобы зашифровать строку, написанный на Java:Перевести с Java на C#: простой код перекодировать строку
String myInput = "test1234";
MessageDigest md = MessageDigest.getInstance("SHA");
byte[] myD = md.digest(myInput.getBytes());
BASE64Encoder en64 = new BASE64Encoder();
String myOutput = new String (
Java.net.URLEncoder.encode(en64.encode(myD)));
// myOutput becomes "F009U%2Bx99bVTGwS3cQdHf%2BJcpCo%3D"
Наша попытка написать это в C# является:
System.Security.Cryptography.SHA1 sha1 =
new System.Security.Cryptography.SHA1CryptoServiceProvider();
string myOutput = HttpUtility.UrlEncode(
Convert.ToBase64String(
sha1.ComputeHash(
ASCIIEncoding.Default.GetBytes(myInput))));
Однако выход не там, где рядом. В нем нет даже признаков процента. Любая вероятность, что кто-нибудь узнает, где мы ошибаемся?