Mcrypt

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅

Π­Ρ‚Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ объявлСна УБВАРЕВШЕЙ Π² PHP 7.1.0 ΠΈ УДАЛЕНА Π² PHP 7.2.0.

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ доступны ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹:

  • Sodium (доступСн с PHP 7.2.0)
  • OpenSSL

Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: ΠœΠΎΠ΄ΡƒΠ»ΡŒ пСрСмСстили Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ » PECL ΠΈ ΠΎΠ½ большС Π½Π΅ поставляСтся с PHP 7.2.0.

Π­Ρ‚ΠΎ интСрфСйс ΠΊ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ mcrypt, которая ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΡˆΠΈΡ€ΠΎΠΊΠΈΠΉ спСктр Π±Π»ΠΎΡ‡Π½Ρ‹Ρ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ², Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ DES, TripleDES, Blowfish (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ), 3-WAY, SAFER-SK64, SAFER-SK128, TWOFISH, TEA, RC2 ΠΈ GOST с Ρ€Π΅ΠΆΠΈΠΌΠ°ΠΌΠΈ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ CBC, OFB, CFB ΠΈ ECB. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ RC6 ΠΈ IDEA, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ "Π½Π΅ свободными". CFB/OFB ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ 8-Π±ΠΈΡ‚Π½Ρ‹ΠΉ.

  • Установка ΠΈ настройка
  • ΠŸΡ€Π΅Π΄ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Π΅ константы
  • Π¨ΠΈΡ„Ρ€Ρ‹ Mcrypt
  • Mcrypt
    • mcrypt_create_iv β€” Π‘ΠΎΠ·Π΄Π°Ρ‘Ρ‚ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ Π²Π΅ΠΊΡ‚ΠΎΡ€ (Initialization Vector ΠΈΠ»ΠΈ IV) ΠΈΠ· случайного источника
    • mcrypt_decrypt β€” Π Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π²Π°Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅ с Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ
    • mcrypt_enc_get_algorithms_name β€” Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ имя Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°
    • mcrypt_enc_get_block_size β€” Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€ Π±Π»ΠΎΠΊΠ° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°
    • mcrypt_enc_get_iv_size β€” Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‰Π΅Π³ΠΎ Π²Π΅ΠΊΡ‚ΠΎΡ€Π° для Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°
    • mcrypt_enc_get_key_size β€” Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ Π΄ΠΎΠΏΡƒΡΡ‚ΠΈΠΌΡƒΡŽ Π΄Π»ΠΈΠ½Ρƒ ΠΊΠ»ΡŽΡ‡Π° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°
    • mcrypt_enc_get_modes_name β€” Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ имя ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ Ρ€Π΅ΠΆΠΈΠΌΠ°
    • mcrypt_enc_get_supported_key_sizes β€” Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ массив с допустимыми Ρ€Π°Π·ΠΌΠ΅Ρ€Π°ΠΌΠΈ ΠΊΠ»ΡŽΡ‡Π° для ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°
    • mcrypt_enc_is_block_algorithm β€” ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅Ρ‚, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π»ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π±Π»ΠΎΡ‡Π½Ρ‹Π΅ Ρ€Π΅ΠΆΠΈΠΌΡ‹
    • mcrypt_enc_is_block_algorithm_mode β€” ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅Ρ‚, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π»ΠΈ Π±Π»ΠΎΡ‡Π½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ
    • mcrypt_enc_is_block_mode β€” ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅Ρ‚, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π»ΠΈ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ Ρ€Π΅ΠΆΠΈΠΌ Π±Π»ΠΎΠΊΠΈ
    • mcrypt_enc_self_test β€” Запуск самопровСрки ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ модуля
    • mcrypt_encrypt β€” Π¨ΠΈΡ„Ρ€ΡƒΠ΅Ρ‚ тСкст с Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ
    • mcrypt_generic β€” Ѐункция ΡˆΠΈΡ„Ρ€ΡƒΠ΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅
    • mcrypt_generic_deinit β€” Π­Ρ‚Π° функция Π΄Π΅ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ
    • mcrypt_generic_init β€” Ѐункция ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ всС Π±ΡƒΡ„Π΅Ρ€Ρ‹, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ
    • mcrypt_get_block_size β€” Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€ Π±Π»ΠΎΠΊΠ° для ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΡˆΠΈΡ„Ρ€Π°
    • mcrypt_get_cipher_name β€” ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ имя ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΡˆΠΈΡ„Ρ€Π°
    • mcrypt_get_iv_size β€” Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‰Π΅Π³ΠΎ Π²Π΅ΠΊΡ‚ΠΎΡ€Π° для ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ ΡˆΠΈΡ„Ρ€Π° ΠΈ Ρ€Π΅ΠΆΠΈΠΌΠ°
    • mcrypt_get_key_size β€” ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΊΠ»ΡŽΡ‡Π° Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡˆΠΈΡ„Ρ€Π°
    • mcrypt_list_algorithms β€” ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ список всСх ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ
    • mcrypt_list_modes β€” ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ список всСх ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… Ρ€Π΅ΠΆΠΈΠΌΠΎΠ² ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ
    • mcrypt_module_close β€” Π—Π°ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ mcrypt
    • mcrypt_module_get_algo_block_size β€” Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€ Π±Π»ΠΎΠΊΠ° ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°
    • mcrypt_module_get_algo_key_size β€” Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΊΠ»ΡŽΡ‡Π° ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ Ρ€Π΅ΠΆΠΈΠΌΠ°
    • mcrypt_module_get_supported_key_sizes β€” Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ список ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² ΠΊΠ»ΡŽΡ‡Π΅ΠΉ для ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°
    • mcrypt_module_is_block_algorithm β€” ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅Ρ‚, являСтся Π»ΠΈ Π·Π°Π΄Π°Π½Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π±Π»ΠΎΡ‡Π½Ρ‹ΠΌ ΠΈΠ»ΠΈ Π½Π΅Ρ‚
    • mcrypt_module_is_block_algorithm_mode β€” ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅Ρ‚, являСтся Π»ΠΈ Π·Π°Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π±Π»ΠΎΡ‡Π½Ρ‹ΠΌ ΠΈΠ»ΠΈ Π½Π΅Ρ‚
    • mcrypt_module_is_block_mode β€” ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π»ΠΈ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ Π΄Π°Π½Π½Ρ‹Π΅ Π±Π»ΠΎΠΊΠ°ΠΌΠΈ ΠΈΠ»ΠΈ Π½Π΅Ρ‚
    • mcrypt_module_open β€” ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ с использованиСм ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΠΈ Ρ€Π΅ΠΆΠΈΠΌΠ°
    • mcrypt_module_self_test β€” Ѐункция запускаСт самопровСрку ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ модуля
    • mdecrypt_generic β€” Π”Π΅ΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ…
οΌ‹Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΡ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ 1 note

up
10
zelnaga at gmail dot com ΒΆ
6 years ago
If you're wanting to use mcrypt on a newer version of PHP where it's been deprecated try the shim for it instead:

https://github.com/phpseclib/mcrypt_compat