2017-09-29 6 views
1

J'ai un problème avec php.sha1 et mon code java. Mon code phpActiver Java sha1 brut comme php sha1

echo base64_encode(sha1("test", TRUE)); 
qUqP5cyxm6YcTAhz05Hph5gvu9M= 

Et mon code java est:

static String Hash(String input) throws Exception { 

    MessageDigest mDigest = MessageDigest.getInstance("SHA1"); 
    byte[] result = mDigest.digest(input.getBytes()); 
    StringBuffer sb = new StringBuffer(); 
    for (int i = 0; i < result.length; i++) { 
     sb.append((result[i/Byte.SIZE] << i % Byte.SIZE & 0x80) == 0 ? '0' : '1'); 
    } 
    return base64_encode(sb.toString()); 

} 

sortie MTAxMDEwMDEwMTAwMTAxMDEwMDA=

Comment dois-je changer la boucle pour obtenir des chaînes égales?

Répondre

2

Celui-ci devrait fonctionner comme RAW SHA-1

String base64 = 
Base64.getEncoder().encodeToString(MessageDigest. 
getInstance("SHA-1").digest(s.getBytes("ISO-8859-1"))); 
+0

TNX !!! ça marche vraiment! – ttt