IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Utilisation de SHA1 en Java donne pas le même résultat en JS


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    45
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 45
    Points : 18
    Points
    18
    Par défaut Utilisation de SHA1 en Java donne pas le même résultat en JS
    Bonjour à tous.

    J’ai un code Java que j’ai adapté en JavaScript dans les deux cas j’utilise SHA1 et SHA256 mais je retrouve pas le même hash.

    Code java:
    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    byte[] bytes = str.getBytes("UTF-16LE");
    byte[] decode = Base64.decode(str3.getBytes(), 0);
     
    int length = bytes.length + decode.length;
     
    byte[] bArr = new byte[length];
     
    int i2 = 0;
     
    while (i2 < length) {
      bArr[i2] = i2 < decode.length ? decode[i2] : bytes[i2 - decode.length];
      i2++;
    }
     
    String encodeToString = Base64.encodeToString(SHA1(bArr), 0);
     
    String encodeToString2 = Base64.encodeToString(SHA256(bArr), 0);

    Code JS:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    const encoder = new TextEncoder('UTF-16');
     
    const toBytes = (text) => {
        return encoder.encode(text);
    };
    //if (str3 !== null && str3.length !== 0) {
    var bytes =  toBytes('2807');;
    var decode = btoa(toBytes(result.salt));
    var length = bytes.length + decode.length;
    var bArr = new Uint16Array(length);
    var i2 = 0;
       while (i2 < length) {
          bArr[i2] = i2 < decode.length ? decode.charCodeAt(i2) : bytes[i2 - decode.length];
                i2++;
            }
    var encodeToString = btoa(CryptoJS.SHA1(bArr));
    var encodeToString2 = btoa(CryptoJS.SHA256(bArr));
     
    console.log(encodeToString);
    console.log(encodeToString2);
    Une idée ce que j’ai fais de travers?

    Merci d’avance

    Olivier

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 352
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 352
    Points : 15 698
    Points
    15 698
    Par défaut
    quelle bibliothèque CryptoJS utilisez vous ?
    montrez nous les résultats de vos tests.

Discussions similaires

  1. Réponses: 2
    Dernier message: 22/10/2013, 10h35
  2. Réponses: 8
    Dernier message: 23/06/2009, 20h31
  3. [FLASH MX2004] Utilisation de l'action script ou pas ?
    Par vbcasimir dans le forum Flash
    Réponses: 6
    Dernier message: 06/02/2006, 14h32
  4. Réponses: 7
    Dernier message: 21/06/2005, 17h04
  5. Rnd qui ne donne pas que des bonnes valeurs
    Par kubito dans le forum Access
    Réponses: 2
    Dernier message: 08/10/2004, 18h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo