我需要這行的Java代碼:轉換此行的Java代碼到C#代碼
Integer.toString(256 + (0xFF & arrayOfByte[i]), 16).substring(1)
轉換爲C#,因爲我不知道如何與「0xFF的」工作。
編輯 這是全碼:
MessageDigest localMessageDigest = MessageDigest.getInstance("SHA-256");
localMessageDigest.update(String.format(Locale.US, "%s:%s", new Object[] { paramString1, paramString2 }).getBytes());
byte[] arrayOfByte = localMessageDigest.digest();
StringBuffer localStringBuffer = new StringBuffer();
for (int i = 0; ; i++)
{
if (i >= arrayOfByte.length)
return localStringBuffer.toString();
localStringBuffer.append(Integer.toString(256 + (0xFF & arrayOfByte[i]), 16).substring(1));
}
它應該只是'0xFF',因爲AFAIK它太小,沒有設置MSB,所以不應該遇到任何'unchecked'的需要。 – hexafraction
'0xFF = 255' ,,,, – johnchen902
你至少能夠遵循代碼。你會發現0xFF是arrayOfByte [i]中的任何內容的掩碼。除非數組中的內容大於一個字節,否則我不會看到使用它的原因。 – asafreedman