我正在生成一个会话密钥,每次运行程序时都会更改。但是当我将它转换为字节数组时,每次运行程序时生成的字节数组都是相同的。IT应该不一样吧?这是我的代码
Key key;
SecureRandom rand = new SecureRandom();
KeyGenerator generator = KeyGenerator.getInstance("AES");
generator.init(rand);
generator.init(256);
key = generator.generateKey();
String key1=key.toString();
byte[] genratesessionKey1 = key1.getBytes();
System.out.println("SESSION KEY IS(Byte format) "+genratesessionKey1.toString());
然后我还使用了一个虚拟字符串。然后我生成了它的字节[]。然后我更改了该字符串中的值并再次生成了它的 Byte[]。它仍然返回相同的结果。
String test2="yadav";
String key1=key.toString();
byte[] genratesessionKey1 = key1.getBytes();
byte[] g2=test.getBytes("UTF-8");
byte[] g3=test.getBytes();
System.out.println("Session key in String "+key1);
System.out.println("Testing Byte Format "+g2);
System.out.println("Testing Byte Format 2 "+g3);
为什么会发生。任何建议将不胜感激