비누 webservice 인증을 시도하고 있지만 java에서 생성 한 SHA1 해시는 작동하지 않지만 .Net으로 생성 된 해시는 작동합니다..Net에서 생성되는 SHA1 해시에 해당하는 Java는 무엇입니까?
이 .Net 코드에 해당하는 Java는 무엇입니까?
//.Net
var token = "H?OIgSJ35~LKJ:9~~7&sUtHDeKAv*[email protected]?cEwV[}[email protected]%}";
var shaProvider = new SHA1Managed();
var rawKey = Encoding.Unicode.GetBytes(token);
var rawHash = shaProvider.ComputeHash(rawKey);
var signature = BitConverter.ToString(rawHash).Replace("-", "").ToLower();
해시 제작 : a508a29efeea2821e519fcbf64f164dd5d672233
// 자바 - 이것은 내가
String token = "H?OIgSJ35~LKJ:9~~7&sUtHDeKAv*[email protected]?cEwV[}[email protected]%}";
MessageDigest cript = null;
try {
cript = MessageDigest.getInstance("SHA1");
} catch (NoSuchAlgorithmException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
cript.reset();
cript.update(token.getBytes());
String password = new String(Hex.encodeHex(cript.digest()));
System.out.println(password);
해시 생산 평민 - 코덱 - 1.4.jar를 사용하여 시도 것입니다 : 88e7c8fc13ac75e8efc8d0c00182caa6dc087093
해당 블록은 어떤 문자열을 생성합니까? – alberge
'Encoding.Unicode.GetBytes'는'String.getBytes'와는 다른 인코딩을 가지고있는 것처럼 보입니다. 이 두 출력을 비교해 보셨습니까? 'token.getBytes ("UTF-16LE")'을 시도하십시오. –
@alberge, 내 편집에 추가했습니다. – Ram