Недавно я начал использовать криптографию в своем приложении, и я нахожу себя озадаченным связью между длиной входного текста и зашифрованным текстом, в котором он приводит. Перед применением криптования было легко определить размер столбца базы данных. Теперь, однако, размер столбца немного меняется. Два вопроса: Правильно ли я предполагаю, что это связано с заполнением моего ввода, чтобы […]
У меня есть несколько строк, которые были зашифрованы с помощью функции PHP crypt() . Выходы выглядят примерно так: $1$Vf/.4.1.$CgCo33ebiHVuFhpwS.kMI0 $1$84..vD4.$Ps1PdaLWRoaiWDKCfjLyV1 $1$or1.RY4.$v3xo04v1yfB7JxDj1sC/J/ Хотя я считаю, что crypt () использует алгоритм MD5, выходы недействительны хэшам MD5. Есть ли способ преобразования полученных хэшей в допустимые хеши MD5 (16-байтовые шестнадцатеричные значения)? Обновить: Спасибо за ответы, так что ответы до […]
Я ищу эквивалент java для этого вызова php: hash_hmac('sha1', "test", "secret") Я пробовал это, используя java.crypto.Mac , но они не согласны: String mykey = "secret"; String test = "test"; try { Mac mac = Mac.getInstance("HmacSHA1"); SecretKeySpec secret = new SecretKeySpec(mykey.getBytes(),"HmacSHA1"); mac.init(secret); byte[] digest = mac.doFinal(test.getBytes()); String enc = new String(digest); System.out.println(enc); } catch (Exception e) […]
Для веб-приложения, когда HTTPS недоступен в качестве меры безопасности, можно ли сделать логин несколько безопасным? Например: Токенизировать логины, чтобы сделать повторные атаки сложными? Как-то зашифровать отправленный пароль из поля пароля HTML? В частности, я использую CakePHP и AJAX POST для запуска проверки подлинности (включая предоставленное имя пользователя и пароль). Обновление проблемы: HTTPS недоступен. Период. Если […]
Мне нужна замена для функции rand() PHP, которая использует криптографически сильный генератор случайных чисел. Функция openssl_random_pseudo_bytes() дает вам доступ к генератору сильных случайных чисел, но выводит свои данные в виде байтовой строки. Вместо этого мне нужно целое число от 0 до X. Я полагаю, что ключ состоит в том, чтобы получить вывод openssl_random_pseudo_bytes() в целое […]
Я пытаюсь зашифровать конфиденциальные пользовательские данные, такие как личные сообщения на моем веб-сайте с php, перед тем как войти в базу данных. Я немного поработал в Интернете, и я нашел несколько важных вещей, которые нужно запомнить: Никогда не используйте mcrypt, это отказоустойчивость. AES основан на алгоритме Rijndael и до сих пор не преломлен. AES также […]
Предположим, что у меня есть некоторый PHP-код, запущенный внутри веб-сервера, например, запуск простого приложения CakePHP. Из этого приложения я хочу иногда подключать TLS к некоторому серверу для обмена некоторыми данными. Как это обычно делается? (У меня мало опыта работы с PHP.) Какие плагины или библиотеки PHP или что-то еще рекомендуется для выполнения TLS-соединений? Где можно […]
Возможный дубликат: Безопасное генерирование случайных чисел в PHP Нам нужно создать криптографически случайную строку для использования в качестве токена аутентификации, которая будет привязана к данным сеанса в базе данных. Мы используем PHP, у которого нет встроенного генератора случайных чисел. Как мы можем генерировать криптографически безопасную случайную строку длины N, используя php? Также обратите внимание, что […]
Время от времени я слышу совет «Использовать bcrypt для хранения паролей в PHP, правила bcrypt». Но что такое bcrypt ? PHP не предлагает таких функций, Wikipedia болтает о утилите шифрования файлов и веб-поиске, просто раскрывает несколько реализаций Blowfish на разных языках. Теперь Blowfish также доступен на PHP через mcrypt , но как это помогает при […]
Я запускаю веб-сайт, и есть система подсчета очков, которая дает вам очки за количество раз, когда вы играете в игру. Он использует хеширование, чтобы доказать целостность HTTP-запроса для подсчета очков, чтобы пользователи ничего не могли изменить, однако, как я боялся, может случиться, кто-то понял, что им не нужно его менять, им просто нужно было получить […]