生成会话密钥的问题

时间:2016-06-07 07:39:04

标签: java encryption session-keys

我在使用以下代码来生成sessionkeu

  public byte[] generateSessionKey() throws NoSuchAlgorithmException, NoSuchProviderException 
          {
    KeyGenerator kgen = KeyGenerator.getInstance("AES","BC");
    kgen.init(256);
    SecretKey key = kgen.generateKey();
    byte[] symmKey = key.getEncoded();
    return symmKey;
        }

并在此处打印

  byte[] aa=encryptor.generateSessionKey();
  String s1=new String(aa);
  System.out.println(s1);

,输出

 Çɤđy3F:¦ïó‹AOÜYu•{Öç„>r?Ô–
我正在做对吗?

1 个答案:

答案 0 :(得分:1)

new String(aa)很可能不正确。它使用平台的默认字符集将extern直接转换为字符串。这意味着它运行的每个平台可能会有所不同。

显示,传输或存储byte[]字符串的常用方法包括base16 (hexadecimal)表示和base64