PHP blowfish 加密解密函數(shù)
Jul 06, 2016 pm 01:28 PM
跳至
[1]
[全屏預(yù)覽]
<?php /** * php blowfish 算法 * Class blowfish */ class blowfish{ /** * blowfish + cbc模式 + pkcs5補(bǔ)碼 加密 * @param string $str 需要加密的數(shù)據(jù) * @return string 加密后base64加密的數(shù)據(jù) */ public function blowfish_cbc_pkcs5_encrypt($str) { $cipher = mcrypt_module_open(MCRYPT_BLOWFISH, '', MCRYPT_MODE_CBC, ''); //pkcs5補(bǔ)碼 $size = mcrypt_get_block_size(MCRYPT_BLOWFISH, MCRYPT_MODE_CBC); $str = $this->pkcs5_pad($str, $size); if (mcrypt_generic_init($cipher, $this->key, $this->iv) != -1) { $cipherText = mcrypt_generic($cipher, $str); mcrypt_generic_deinit($cipher); return base64_encode($cipherText); } mcrypt_module_close($cipher); } /** * blowfish + cbc模式 + pkcs5 解密 去補(bǔ)碼 * @param string $str 加密的數(shù)據(jù) * @return string 解密的數(shù)據(jù) */ public function blowfish_cbc_pkcs5_decrypt($str) { $cipher = mcrypt_module_open(MCRYPT_BLOWFISH, '', MCRYPT_MODE_CBC, ''); if (mcrypt_generic_init($cipher, $this->key, $this->iv) != -1) { $cipherText = mdecrypt_generic($cipher, base64_decode($str)); mcrypt_generic_deinit($cipher); return $this->pkcs5_unpad($cipherText); } mcrypt_module_close($cipher); } private function pkcs5_pad($text, $blocksize){ $pad = $blocksize - (strlen ( $text ) % $blocksize); return $text . str_repeat ( chr ( $pad ), $pad ); } private function pkcs5_unpad($str){ $pad = ord($str[($len = strlen($str)) - 1]); return substr($str, 0, strlen($str) - $pad); } }
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas
Bagaimana untuk memperbaiki KB5060533 gagal dipasang di Windows 10?
3 minggu yang lalu
By DDD
Dune: Awakening - Di mana untuk mendapatkan kain terlindung
3 minggu yang lalu
By Jack chen
Log masuk Gmail: Cara mendaftar, mendaftar masuk, atau mendaftar keluar dari Gmail - Minitool
1 bulan yang lalu
By Jack chen
Bagaimana untuk memperbaiki KB5060999 gagal dipasang di Windows 11?
3 minggu yang lalu
By DDD
Panduan Guild di Grail Tercemar: Kejatuhan Avalon
4 minggu yang lalu
By Jack chen

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)
