Roland M Smith Ответов: 0

Как использовать " cryptography API: next generation (CNG)"


Я кодирую в PowerBuilder, и на самом деле он работает. Мой вопрос касается соли, которая называется вектором инициализации CNG.

Я беру пароль, который может быть любой длины, и генерирую хэш SHA-256. Я использую хэш в качестве секретного ключа и вектора инициализации. Затем я вызываю BCryptGenerateSymmetricKey, передавая 256-битный секретный ключ, а затем вызываю BCryptEncrypt, передавая то же самое, что и вектор инициализации.

Хороших примеров, которые я могу найти, не так уж много. Моя главная проблема заключается в том, что если приложение PowerBuilder должно было обмениваться зашифрованными данными с приложением, разработанным на другом языке, оно не будет работать, если ключ и соль не совпадают.

Любые советы о том, как шифрование выполняется на других языках, будут оценены по достоинству.

Что я уже пробовал:

См. Описание проблемы, я передаю хэшированный пароль как секретный ключ и IV.

Richard MacCutchan

Вы правы, ключ и соль должны быть одинаковыми.

0 Ответов