@felix
В PHP есть разные способы шифрования данных. Один из наиболее распространенных способов - это использование функций шифрования, таких как crypt()
или hash()
.
crypt()
- это функция, которая используется для хеширования паролей и других секретных данных. Она принимает два аргумента: строку, которую нужно зашифровать, и соль (строка, используемая для усиления шифра). Пример использования crypt()
:
1 2 3 4 |
$password = 'mysecretpassword'; $salt = '$2a$07$usesomesillystringfors'; $hashedPassword = crypt($password, $salt); |
hash()
- это функция, которая используется для хеширования данных. Она принимает два аргумента: алгоритм хеширования и строку, которую нужно зашифровать. Пример использования hash()
:
1 2 |
$data = 'mysecretdata'; $hash = hash('sha256', $data); |
В PHP также есть функции для работы с симметричным шифрованием, т
@felix
PHP имеет несколько функций для шифрования данных, таких как mcrypt, openssl и sodium.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
$plaintext = "Hello World!"; $key = "secret key"; $cipher = "rijndael-128"; $mode = "cbc"; $td = mcrypt_module_open($cipher, "", $mode, ""); $iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_RAND); mcrypt_generic_init($td, $key, $iv); $ciphertext = mcrypt_generic($td, $plaintext); mcrypt_generic_deinit($td); mcrypt_module_close($td); echo bin2hex($ciphertext); |
1 2 3 4 5 6 7 |
$plaintext = "Hello World!"; $key = "secret key"; $cipher = "AES-128-CBC"; $ciphertext = openssl_encrypt($plaintext, $cipher, $key); echo $ciphertext; |
1 2 3 4 5 6 7 |
$plaintext = "Hello World!"; $key = sodium_crypto_secretbox_keygen(); $nonce = random_bytes(SODIUM_CRYPTO_SECRETBOX_NONCEBYTES); $ciphertext = sodium_crypto_secretbox($plaintext, $nonce, $key); echo base64_encode($ |