Криптиране

C++ JAVA
User avatar
dakata__92
Web-tourist
Web-tourist
Posts: 3317
Joined: Tue Aug 02, 2011 7:24 pm
Answers: 126

Криптиране

Post by dakata__92 » Wed Sep 28, 2016 2:19 pm

Как си криптирате паролите? Преди се ползваше md5 и в доста сайтове съм го ползвал, но напоследък забелязвам, че хората използват:
http://php.net/manual/bg/book.mcrypt.php
Бихте ли ми дали функции за криптиране и декриптиране на стринг, които са най-актуални с времето. Смисъл в момента, какъв е начина за криптиране на пароли, като използването на някакъв ключ е ясно.

User avatar
lam3r4370
Шаман
Шаман
Posts: 3424
Joined: Wed Aug 20, 2008 4:12 pm
Answers: 131

Post by lam3r4370 » Wed Sep 28, 2016 2:33 pm

bcrypt, scrypt, agron2, разгледай password_hash и password_verify, има и polyfill за по-ниските версии на PHP

User avatar
dakata__92
Web-tourist
Web-tourist
Posts: 3317
Joined: Tue Aug 02, 2011 7:24 pm
Answers: 126

Post by dakata__92 » Wed Sep 28, 2016 2:47 pm

lam3r4370 wrote:bcrypt, scrypt, agron2, разгледай password_hash и password_verify, има и polyfill за по-ниските версии на PHP
А някакви прости класове по темата има ли?

User avatar
gamena007
Потребител
Потребител
Posts: 1257
Joined: Mon Jul 09, 2007 9:08 pm
Answers: 82
Location: Варна

Post by gamena007 » Wed Sep 28, 2016 3:43 pm


User avatar
dakata__92
Web-tourist
Web-tourist
Posts: 3317
Joined: Tue Aug 02, 2011 7:24 pm
Answers: 126

Post by dakata__92 » Wed Sep 28, 2016 5:46 pm

След доста четене, драснах ето този код. Какво мислите за него? Давайте мнения :)

[php]
class Crypt
{
public function __construct()
{

}

public function encrypt($string, $key)
{
$string = trim($string);
$key = trim($key);

$iv = mcrypt_create_iv(
mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC),
MCRYPT_DEV_URANDOM
);

return $encrypted = str_rot13(
base64_encode(
$iv .
mcrypt_encrypt(
MCRYPT_RIJNDAEL_128,
hash('sha256', $key, true),
$string,
MCRYPT_MODE_CBC,
$iv
)
)
);
}

public function decrypt($string, $key)
{
$string = base64_decode(
str_rot13(
trim($string)
)
);
$key = trim($key);

$iv = substr($string, 0, mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC));

return $decrypted = rtrim(
mcrypt_decrypt(
MCRYPT_RIJNDAEL_128,
hash('sha256', $key, true),
substr($string, mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC)),
MCRYPT_MODE_CBC,
$iv
),
"\0"
);
}
}
[/php]

User avatar
lam3r4370
Шаман
Шаман
Posts: 3424
Joined: Wed Aug 20, 2008 4:12 pm
Answers: 131

Post by lam3r4370 » Wed Sep 28, 2016 6:01 pm

Не мога да разбера защо накрая все си пишете някакви си ваши тествани, нетествани кодчета... Какво по-просто от функция в php?

Ето ти и polyfill https://github.com/ircmaxell/password_compat

Направо го мини 2 пъти през rot13, няма по-сигурно от това...

User avatar
dakata__92
Web-tourist
Web-tourist
Posts: 3317
Joined: Tue Aug 02, 2011 7:24 pm
Answers: 126

Post by dakata__92 » Wed Sep 28, 2016 6:24 pm

lam3r4370 wrote:Не мога да разбера защо накрая все си пишете някакви си ваши тествани, нетествани кодчета... Какво по-просто от функция в php?

Ето ти и polyfill https://github.com/ircmaxell/password_compat

Направо го мини 2 пъти през rot13, няма по-сигурно от това...
Видя ли кода колега? Нали се ползва същият принцип като на тази функция просто е под моят контрол. rot13 e просто за разбъркване на криптираният низ. Ако не бях дал кода, даже нямаше да разбереш как да го декодираш. Идеята ми не е само да криптирам пароли, а и други стрингове, като така имам криптер и декриптер, и бих могъл даже и шифрирани съобщения да пращам.

novakabg
Турист
Турист
Posts: 337
Joined: Fri May 13, 2016 12:29 pm
Contact:

Post by novakabg » Wed Sep 28, 2016 6:48 pm

Запоявадай нещо лесно без много сложност :) аз го ползвах преди няколко дена.

http://www.php.net/crypt

User avatar
dakata__92
Web-tourist
Web-tourist
Posts: 3317
Joined: Tue Aug 02, 2011 7:24 pm
Answers: 126

Post by dakata__92 » Wed Sep 28, 2016 6:58 pm

novakabg wrote:Запоявадай нещо лесно без много сложност :) аз го ползвах преди няколко дена.

http://www.php.net/crypt
На мен ми е нужно да имам и декриптираща функция, затова си и написах собствен клас по темата. :)

User avatar
lam3r4370
Шаман
Шаман
Posts: 3424
Joined: Wed Aug 20, 2008 4:12 pm
Answers: 131

Post by lam3r4370 » Thu Sep 29, 2016 7:53 am

Пароли се хешират, а не криптират

Post Reply