【发布时间】:2017-10-20 19:52:44
【问题描述】:
我正在使用javax.crypto.Cipher 解码消息,作为输出我得到byte[]。检查我的密钥是否正确以及byte[] 是否为有效字符串的最快方法是什么?
【问题讨论】:
-
获取一个空的 UTF-8 字符串并不能保证密钥是有效的。你想达到什么目的?
我正在使用javax.crypto.Cipher 解码消息,作为输出我得到byte[]。检查我的密钥是否正确以及byte[] 是否为有效字符串的最快方法是什么?
【问题讨论】:
试试这个:-
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;
}
【讨论】: