0
Мне нужно перевести старый код, написанный в VisualBasic на Java. VB код:Перевести код кодировки с VB на Java
Dim mySHA256 As Object
Dim asc As Object
Dim TextToHash() As Byte
Dim mybytes() As Byte
Dim objXML As Object
Dim objNode As Object
Dim strResult As String
Set asc = CreateObject("System.Text.UTF8Encoding")
Set mySHA256 = CreateObject("System.Security.Cryptography.SHA256Managed")
TextToHash = asc.GetBytes_4(sTextToHash)
mybytes = mySHA256.ComputeHash_2(TextToHash)
Set objXML = CreateObject("MSXML2.DOMDocument")
Set objNode = objXML.createElement("b64")
objNode.DataType = "bin.base64"
objNode.nodeTypedValue = arrData
strResult = objNode.Text
Это выглядит совершенно волшебным для меня. Мне нужно иметь тот же хеш (strResult) в Java. Моя Java выглядит так:
byte[] bytes = text.getBytes("UTF-8");
MessageDigest messageDigest = MessageDigest.getInstance("SHA-256");
byte[] hash = messageDigest.digest(bytes);
StringBuffer hexString = new StringBuffer();
for(int i = 0; i < hash.length; i++)
{
String hex = Integer.toHexString(0xff & hash[ i ]);
if(hex.length() == 1)
{
hexString.append('0');
}
hexString.append(hex);
}
Кто-нибудь знает, как это сделать?
Post/объяснить свой Java код, который не работал – Reimeus
Что было не так с вашим кодом Java? как сказал Реймеус, разместите свой Java-код, чтобы мы могли помочь вам – jMounir