$SECONDS
на самом деле является специальной Bash Variable для определения количества секунд, в течение которых выполнялся скрипт. Поскольку это таймер, он автоматически увеличивается каждую секунду, а скрипт ничего не делает. Просто измените имя переменной на другое, и все будет в порядке.
Необходимо будет изучить хорошие 2 пути криптографические методы, и мое общее правило ползунка:
Так, найдите хорошую реализацию, которая хорошо проверяется, и используйте это.
здесь существует, вероятно, некоторая хорошая информация:
Проверьте эту библиотеку: PECL gnupg это предоставляет Вам методы для взаимодействия с gnupg. Вы можете легко шифровать и дешифровать данные, с помощью безопасный криптографические алгоритмы с открытым ключом.
Я предложил бы, чтобы Вы не сохранили пароли, но использовали passwordless соединение SSH от хоста до удаленной системы путем генерации ssh ключа и хранения открытого ключа в authorized_keys файле удаленной системы. Тогда необходимо было бы только установить возможность соединения во время конфигурации. По общему признанию не совсем ответ на Ваш вопрос, но хранение паролей в обратимой форме является скользким путем к нарушению защиты, по моему скромному мнению, хотя я уверен более умные мозги, чем мой может сделать его безопасным.
Один простой способ начать состоит в том, чтобы использовать mysql's, КОДИРУЮТ () и ДЕКОДИРУЮТ () функции. Я не знаю, какой алгоритм используется внизу, но достаточно легко использовать:
INSERT INTO tbl_passwords SET encoded_pw = ENCODE('r00t', 'my-salt-string');
и
SELECT DECODE(encoded_pw, 'my-salt-string') FROM tbl_passwords;
Если Вы идете PKI, и я был бы, удостовериться Вы безопасность Ваши закрытые ключи! Устойчивое шифрование, обеспеченное PKI, только так же безопасно как Ваши ключи.
Я думаю, что Вы находитесь на цели. Взгляд GPG для хорошей, открытой библиотеки шифрования
Похоже, что у Вас в значительной степени есть два метода выполнения этого:
1) Как Вы предложенный использование алгоритм шифрования или алгоритмы, которые могут тогда дешифровываться и использоваться для аутентификации в Ваших сценариях. Можно пользоваться библиотекой MCrypt в PHP для выполнения этого.
2) В зависимости от необходимого уровня безопасности и уровня Вашего сценария уязвимости, Вы могли использовать безопасный хеш, ключ или некоторого другого трудно для предположения уникального идентификатора, который можно использовать для угона учетной записи каждого пользователя в рамках ограничений сценария.
Как многие заявили Вам, сценарий требует, чтобы Вы зашифровали имя пользователя и пароль. Я рекомендовал бы проверить расширение mcrypt php для шифрования/дешифрования.
Я думаю, что собираюсь исследовать компиляцию Сценария PHP со встроенными учетными данными, на лету, из веб-приложения.
я попросил бы учетные данные (для данного использования), затем создал бы и скомпилировал бы новый Сценарий PHP для этого использования только. Тем путем сценарий будет [только 111] делать то, в чем я нуждаюсь и не должен быть "читаемым". Я думаю, что это походит на самый безопасный способ сделать это.
попытается использовать Roadsend. http://www.roadsend.com/
Только для следования предложению для использования MySQL кодируют и декодируют функции, руководство неопределенно на, как они работают:
сила шифрования на основе того, насколько хороший случайный генератор. Это должно быть достаточным для коротких строк.
, Но то, что я предложил бы, - то, что можно вместо этого использовать встроенный MySQL 5.0 функции AES ; AES_ENCRYPT()
и AES_DECRYPT()
SELECT AES_ENCRYPT('secret squirrel', '12345678') AS encoded
=> ØA;J×ÍfOU»] É8
SELECT AES_DECRYPT('ØA;J×ÍfOU»] É8', '12345678') AS decoded
=> secret squirrel
Они используют 128-разрядную AES, которая должна быть достаточно сильной в большинстве целей. Как другие прокомментировали, с помощью соленого значения, и ключ с высокой энтропией является хорошей практикой.
Во-первых, для утверждения (надо надеяться), очевидный, если Вы можете всегда вообще стараться не хранить имена пользователей и пароли, делают так; это - большая ответственность и если Ваше учетное хранилище нарушено, это может обеспечить доступ ко многим другим местам для тех же пользователей (из-за пароля, совместно использующего).
1115-секундный, если необходимо сохранить учетные данные, предпочитают скорее сохраненным паролям с помощью необратимого, посолил криптографический хеш, поэтому если Вы, данные поставились под угрозу пароли, не можете легко быть перепроектированы и нет никакой потребности сохранить ключ расшифровки вообще.
, Если необходимо сохранить decryptable учетные данные:
, Если имя пользователя не необходимо для определения местоположения записи учетной записи (который в случае это не), зашифруйте и имя пользователя и пароль. Если Вы шифруете обоих, шифруете их как одно шифрование, выполненное, например,
userAndPass = (пользователь + ":" + передача);
encryptInit ();
шифруют (солят);
шифруют (userAndPass);
cipherText=encryptFinal ();
и хранилище исключительный блоб, так, чтобы было меньше возникновения коротких шифрованных текстов, которые легче повредить, и имя пользователя дальнейшие соли пароль.
пз: Я не программирую в PHP, так не может прокомментировать подходящий crypto s/w в той среде.
Для PHP важно отметить, что шифрование AES реализовано с помощью функций MCRYPT_RIJNDAEL. Не платите за закрытые реализации, если они доступны в PHP.
Дополнительную информацию см. На странице PHP , где обсуждаются доступные шифры .