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

Место общения программистов C#
Ответить
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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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