![]() |
Шифрование [php]
Как на php сделать такую вещь
есть текст "Ivanov Ivan bla bla bla" как каждую букву этого текста заменить на определенное сочетание букв например I -> rfjheirghsd , v -> iwehrfuieh и т.д как сделать обратную замену? |
варианты:
1. strtr 2. регулярные выражения все имеют недостатки.... код нужно смотреть, насколько он сильно пересекается.. всегда ли длинна замещающего текста одинакова, возможно ли всегда провести однозначное декодирование и т.п. :) |
ну например каждой букве можно назначить свое сочетание и производить замену, только как? разделять эти сочетания можно определенной буквой которая нигде не будет использоваться...
|
Вообщем-то и туда и обратно всё заменяется более чем просто. Но дело в том, что такой метод довольно просто расшифровывается, даже если у злоумышленника нет пары источник-результат. Из наиболее простых в реализации алгоритмов является XOR (примеры ищем в гугле). Но я бы советовал использовать расширение (php) mcrypt и не изобретать велосипед.
|
Почему-то нельзя воспользоваться стандартными средствами PHP (функция crypt например)? Она поддерживает следующие алгоритмы шифрования:
Standard DES-based encryption with a two character salt Extended DES-based encryption with a nine character salt MD5 encryption with a twelve character salt starting with $1$ CRYPT_BLOWFISH - Blowfish encryption with a sixteen character salt starting with $2$ (соответственно не все имеют обратное декодирование, внимательно прочитайте) или будет использоваться какой-то специфический способ шифрования? |
Цитата:
|
а я бы предложил еще более простой вариант:
base64_encode base64_decode |
Вообщем-то мы говорим о шифровании. base64 несколько не для этого.
|
Цитата:
Хотя безусловно ты прав, mcrypt мощная штука, только часто ли это надо столько возможностей.... |
mcrypt toje ne vsegda podhodit. pass prihoditsya hranit' v scripte, a eto ne securno. na danniy moment ispolzuyu openssl funkcii s public/private key.
|
Цитата:
|
naprimer est' admin + mnogo userov, ih dannie nado shifrovat'. dostup k dannim doljen imet' admin. v etom sluchae shifrovat' passom usera nelzya, tak kak togda admin nichego ne prochitaet...
|
Ну хранить пароль в MySQL можно ;) Не обязательно в файле
|
:) togda kakoy smisl shifrovat? hax0r poluchaet dostup k mysql baze.. tam je on imeet pass.. dalshe obyasnyat? :)
|
Ну вобщем-то конечно в подобной задаче лучше пользоваться алгоритмами с закрытым и открытым ключами...
|
Цитата:
|
| Часовой пояс GMT +4, время: 00:52. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.