B@l@ji Ответов: 3

Может ли кто-нибудь перевести приведенный ниже java-код на c#? Пожалуйста, помогите мне решить эту проблему


import java.security.MessageDigest
public class SecureHash
{
   static final char[] HEX = new char[]
   { '0', '1', '2', '3', '4', '5', '6', '7','8', '9', 'a', 'b', 'c', 'd', 'e', 'f' };}

   static String hex(byte[] input) 
   {
       StringBuffer sb = new StringBuffer(input.length * 2);
        for (int i =0;i<input.length;i++) {
           sb.append(HEX[(inout[i]>>4) & 0*f]);
           sb.append(HEX[input[i] & 0*f]);
        }
        return sb.tostring();
   }
   
   public static String genSecureHash(String OriginalString)
   {
       MessageDigest md = null;
       byte[] ba = null;
       try{
          md = MessageDigest.getInstance("SHA-256");
          ba = md.digest(originalString.getBytes("ISO-8859-1"));
      }catch(Exception e){}
      return hex(ba);
   }
}



Вот что я попробовал.


public static readonly char[] HEX = new char[] { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' };

public static byte[] md5Of(IList<string> list)
{
try
{
StringBuilder rawString = new StringBuilder();
foreach (string elem in list)
{
rawString.Append(elem);
}
byte[] digest = ConvertStringToMD51(rawString.ToString());
return digest;
}
catch (Exception e)
{
Console.WriteLine(e.ToString());
Console.Write(e.StackTrace);
}
return null;
}

public static byte[] ConvertStringToMD51(string ClearText)
{
Encoding enc = Encoding.GetEncoding("ISO-8859-1");
byte[] ByteData = enc.GetBytes(ClearText);
MD5 gene = MD5.Create();
byte[] HashData = gene.ComputeHash(ByteData);
StringBuilder oSb = new StringBuilder();
for (int x = 0; x < HashData.Length; x++)
{
oSb.Append(HashData[x].ToString("x2"));
}
return Encoding.Unicode.GetBytes(oSb.ToString());
}

public static string hexdigit(byte[] input)
{
char[] b16 = new char[input.Length * 2];
int i = 0;
foreach (byte c in input)
{
int low = c & 0xF;
int high = (c & 0xF0) >> 4;
b16[(i++)] = HEX[high];
b16[(i++)] = HEX[low];
}
return new string(b16);
}


Что я уже пробовал:

Пожалуйста, решите эту проблему. Я не знаю Явы. я не могу использовать класс the для C#

3 Ответов

Рейтинг:
24

Patrice T

Цитата:
Может ли кто-нибудь перевести приведенный ниже java-код на c#? Пожалуйста, помогите мне решить эту проблему

Ваш вопрос не о том, чтобы" получить помощь", а о том, чтобы"сделать свою работу бесплатно".
Если вы хотите, чтобы кто-то выполнял вашу работу, подумайте о найме профессионального программиста
Нанимайте фрилансеров и находите работу фрилансера онлайн-Freelancer[^]
Цитата:
Я не знаю Явы.

Даже если вы не знаете Java, вы должны быть в состоянии понять большую его часть, вы должны быть в состоянии показать хотя бы частичный перевод.


Рейтинг:
1

Graeme_Grant

Я знаю, что немного опоздал на вечеринку, но вот поиск Google[^] отправная точка, которая нашла это:

* 6 лучших инструментов, которые помогут вам конвертировать Java в исходный код C# " CODECALL[^]


B@l@ji

извините, что у меня нет никакого кода c#

Graeme_Grant

Нет, ты не знал. Я дал вам больше... ссылку на список генераторов кода ... ie: будет переводить / писать код для вас! Подарок, который продолжает дарить! ;)

Рейтинг:
1

Richard MacCutchan

Не пытайтесь преобразовать его в C#, но перепишите его так, чтобы он правильно использовал .Функции сетевого шифрования. Видеть Шифрование Данных | Microsoft Docs[^].