如何判断AES Key是否符合规范

42 阅读1分钟
  1. AES Key原始形态为bit形式(byte[]), 传输时可能是16进制Hex encoded也可能是Base64 encoded, 不太可能是UTF-8 encoded, 要使用对应的decoder, 以Hex encoded为例:
byte[] bytes = org.springframework.security.crypto.codec.Hex.decode(aesKey)
  1. 获取bit位长度, 必须为128, 192, 256位:
return ImmutableSet.of(128, 192, 256).contains(bytes.length * 8)