Лучший способ создания клавиш AES, чем посевы SecurerandomJAVA

Программисты JAVA общаются здесь
Anonymous
Лучший способ создания клавиш AES, чем посевы Securerandom

Сообщение Anonymous »

Мне нужно отправить зашифрованные данные из клиента Java на сервер C#. Прямо сейчас я учусь шифровать данные, используя AES (требование). После этого принятого шифрования изображения ответа/дешифрования с использованием симметричных блок-шифров AES256 я делаю следующее:

Код: Выделить всё

byte[] keyStart = "qweroiwejrwoejlsifeoisrn".getBytes(); // Random character string

byte[] toEncrypt = myMessageString.getBytes();

keyGen = KeyGenerator.getInstance("AES");
sr = SecureRandom.getInstance("SHA1PRNG");
sr.setSeed(keyStart);
keyGen.init(128, sr);
SecretKey secretKey = keyGen.generateKey();
byte[] secretKeyByte = secretKey.getEncoded();

SecretKeySpec skeySpec = new SecretKeySpec(secretKeyByte, "AES");
Cipher cipher = Cipher.getInstance("AES");
cipher.init(Cipher.ENCRYPT_MODE, skeySpec);
cipher.doFinal(toEncrypt);
Поскольку алгоритм использует Securerandom с использованием KeyStart Я не уверен, может ли это быть декодировано в C# или даже в другой программе Java, без Securerandom .
будет ли это шифрование/decryption. Securerandom мне все еще нужно пройти что -то еще, чтобы расшифровать?>

Подробнее здесь: https://stackoverflow.com/questions/241 ... curerandom

Вернуться в «JAVA»