Другие языки программирования и технологии

Кто может написать программу, чтоб она требовала пароль, который никак не узнать пользователю, он закодирован, ..

... и которая будет выдавать информацию пользователю только при правильном вводе. Пароль оттуда только я знаю.
Ну я могу!
Но, только вы, Георгий, тоже не будете знать пароля…
Не к чему он вам ;–)
Дмитрий Хохлов
Дмитрий Хохлов
56 338
Лучший ответ
Поступить так, как это применяется в любых архиваторах - защищаемые данные шифруются каким-нибудь симметричным алгоритмом наподобие AES, а ключ вычисляется из пароля. В итоге если пароль не знать - то и данные из программы не вытащить никак, пароль тоже никак не вытащить. Если пользователь введёт неправильный пароль - то на выходе вместо нужных данных он получит случайный набор байт.

Чтобы осложнить перебор пароля - функция вычисления ключа из пароля должна быть как можно более медленной - например, N раундов хэширования, причём число N должно быть порядка миллиона или даже миллиарда, дабы даже одна итерация заняла прилично времени (если, допустим, займёт 100 милисекунд - то злоумышленник сможет за секунду перебрать только 10 вариантов пароля, что очень медленно, а для легального пользователя эти 100 милисекунд будут незаметны практически совсем). Естественно, если будете изобретать велосипед с хэшированием - то убедитесь, что хэш-функция возвращает результат в виде бинарного массива, а не в виде 16-ричной строки, а также длина этого хэша достаточная - например, если криптоалгоритм требует 256-битные ключи, то в качестве хэш-функции логичнее использовать sha256, который на выходе как раз эти 256 бит и даёт, если нужная длина ключа меньше - всё равно можно брать хэш-алгоритм с большей длиной, но от результата использовать только нужное число бит, сколько надо получить в ключе.
информацию зашифровать с ключом на основе правильного пароля. выдавать результат расшифровки по введенному паролю.
ЗЫ. Требование "никак не узнать пользователю" - невыполнимо. тот же "брутфорс" никто не отменял.
Esteticum Esteticum
Esteticum Esteticum
25 516
Виктор Балихин Забрутить сложный пароль не получится.
А в чем, собственно, проблема? В генерации пароля?
Nurgeldi Zhanabaev
Nurgeldi Zhanabaev
17 555
Виктор Балихин В написании скрипта.

Похожие вопросы