2017-10-20 3 views
0

Je décode les messages avec javax.crypto.Cipher et en tant que sortie, j'obtiens byte[]. Quel est le le plus rapide façon de vérifier si ma clé est correcte et byte[] est une chaîne valide?Comment vérifier si le tableau d'octets est valide Chaîne UTF-8

+0

Obtenir une chaîne UTF-8 Vaid ne garantit pas que la clé est valide. Qu'essayez-vous d'accomplir? –

Répondre

1

Essayez ceci: -

public boolean checkUTF8(byte[] barr){ 

     CharsetDecoder decoder = Charset.forName("UTF-8").newDecoder(); 
     ByteBuffer buf = ByteBuffer.wrap(barr); 

     try { 
      decoder.decode(buf); 

     } 
     catch(CharacterCodingException e){ 
      return false; 
     } 

     return true; 
    }