Rumah pembangunan bahagian belakang tutorial php PHP的des加密+ ECB方式+PKCS5 补齐

PHP的des加密+ ECB方式+PKCS5 补齐

Jun 13, 2016 pm 12:42 PM
data input mcrypt text

PHP的des加密+ ECB模式+PKCS5 补齐

/**
 * 
 * 加密函数
 * 算法:des
 * 加密模式:ecb
 * 补齐方法:PKCS5
 * 
 * @param unknown_type $input
 */
function encryptDesEcbPKCS5($input, $key) 
{ 
    $size = mcrypt_get_block_size('des', 'ecb'); 
    $input = pkcs5_pad($input, $size); 
    
    $td = mcrypt_module_open('des', '', 'ecb', ''); 
    //$iv = mcrypt_create_iv (mcrypt_enc_get_iv_size($td), MCRYPT_RAND); 
    $iv = 0;
    mcrypt_generic_init($td, $key, $iv); 
    $data = mdecrypt_generic ($td, $input); 
    mcrypt_generic_deinit($td); 
    mcrypt_module_close($td); 
    //$data = base64_encode($data); 
    return $data; 
} 

/**
 * 解密函数
 * 算法:des
 * 加密模式:ecb
 * 补齐方法:PKCS5
 * @param unknown_type $input
 */
function decryptDesEcbPKCS5($input, $key) 
{ 
    $size = mcrypt_get_block_size('des', 'ecb'); 
   
    $td = mcrypt_module_open('des', '', 'ecb', ''); 
    $iv = 0;
    mcrypt_generic_init($td, $key, $iv); 
    $data = mcrypt_generic($td, $input); 
    mcrypt_generic_deinit($td); 
    mcrypt_module_close($td); 
    $data = pkcs5_unpad($data, $size); 
    //$data = base64_encode($data); 
    return $data; 
} 

function pkcs5_pad ($text, $blocksize) 
{ 
    $pad = $blocksize - (strlen($text) % $blocksize); 
    return $text . str_repeat(chr($pad), $pad); 
} 

function pkcs5_unpad($text) 
{ 
    $pad = ord($text{strlen($text) - 1}); 
    if ($pad > strlen($text)) 
    	return false; 
    if (strspn($text, chr($pad), strlen($text) - $pad) != $pad) 
    	return false; 
    return substr($text, 0, -1 * $pad); 
} 

$str = 'test crypt';
$key = 'jack11';
$res = encryptDesEcbPKCS5($str, $key);
echo "$res\n";


$deRes = decryptDesEcbPKCS5($res, $key);

echo "\n$deRes\n";
Salin selepas log masuk

?

PHP的DES加密的补齐比较特殊,而且不能指定

http://www.herongyang.com/Cryptography/DES-PHP-Block-Padding-in-mcrypt.html

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

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk menggantikan mcrypt dalam php Bagaimana untuk menggantikan mcrypt dalam php Oct 31, 2022 am 09:46 AM

Cara menggantikan mcrypt dengan php: 1. Buka fail php yang sepadan 2. Cari kod penyulitan dan penyahsulitan asal 3. Gunakan kaedah "openssl_encrypt" dan "openssl_decrypt" untuk menggantikannya.

Bagaimana untuk melaksanakan medan tersembunyi input laravel Bagaimana untuk melaksanakan medan tersembunyi input laravel Dec 12, 2022 am 10:07 AM

Cara melaksanakan medan tersembunyi input laravel: 1. Cari dan buka fail templat Blade 2. Gunakan kaedah method_field dalam templat Blade untuk mencipta medan tersembunyi Sintaks penciptaan ialah "{{ method_field('DELETE') }} ".

Bagaimana untuk merangkum komponen input dan data borang bersatu dalam vue3 Bagaimana untuk merangkum komponen input dan data borang bersatu dalam vue3 May 12, 2023 pm 03:58 PM

Penyediaan Gunakan vuecreateexample untuk mencipta projek Parameternya adalah seperti berikut: gunakan input asli terutamanya nilai dan perubahan. App.tsx adalah seperti berikut: import{ref}from'vue';exportdefault{setup(){//username is the data constusername=ref('Zhang San');//Apabila kotak input berubah, segerakkan data constonInput =;kembali( )=>({

Penjelasan terperinci tentang peristiwa mengikat kotak input dalam dokumen Vue Penjelasan terperinci tentang peristiwa mengikat kotak input dalam dokumen Vue Jun 21, 2023 am 08:12 AM

Vue.js ialah rangka kerja JavaScript ringan yang mudah digunakan, cekap dan fleksibel Ia merupakan salah satu rangka kerja bahagian hadapan yang paling popular pada masa ini. Dalam Vue.js, peristiwa mengikat kotak input adalah keperluan yang sangat biasa Artikel ini akan memperkenalkan peristiwa mengikat kotak input dalam dokumen Vue secara terperinci. 1. Konsep asas Dalam Vue.js, peristiwa pengikatan kotak input merujuk kepada pengikatan nilai kotak input kepada objek data bagi contoh Vue, dengan itu mencapai pengikatan dua hala input dan respons. Dalam Vue.j

Apa yang perlu dilakukan jika tiada kursor apabila mengklik pada kotak input Apa yang perlu dilakukan jika tiada kursor apabila mengklik pada kotak input Nov 24, 2023 am 09:44 AM

Penyelesaian untuk mengklik kotak input tanpa kursor: 1. Sahkan fokus kotak input 2. Kosongkan cache penyemak imbas 4. Gunakan JavaScript 5. Semak input; sifat kotak; 7. Menyahpepijat kod JavaScript; 8. Semak elemen lain halaman;

Cara menggunakan acara pemulangan pengangkutan kotak input dan fungsi pengesahan dalam dokumen Vue Cara menggunakan acara pemulangan pengangkutan kotak input dan fungsi pengesahan dalam dokumen Vue Jun 20, 2023 am 09:13 AM

Vue ialah rangka kerja bahagian hadapan JavaScript yang popular dengan pengikatan data responsif dan sistem komponen pada terasnya. Dalam aplikasi Vue, kotak input ialah salah satu elemen UI yang paling biasa digunakan. Apabila pengguna memasukkan teks, kami berharap untuk mendengar acara pemulangan pengangkutan dan mengesahkan input sebelum menyerahkan. Artikel ini akan memperkenalkan acara masukkan kotak input dan penggunaan fungsi pengesahan dalam dokumen Vue. 1. Acara pemulangan gerabak kotak input dalam Vue Memantau peristiwa pemulangan gerabak kotak input dalam Vue adalah sangat mudah.

Apakah data yang terdapat dalam folder data? Apakah data yang terdapat dalam folder data? May 05, 2023 pm 04:30 PM

Folder data mengandungi data sistem dan program, seperti tetapan perisian dan pakej pemasangan Setiap folder dalam folder Data mewakili jenis folder storan data yang berbeza, tidak kira sama ada fail Data merujuk kepada nama fail Data atau sambungan data , semuanya adalah fail data yang disesuaikan oleh sistem atau program Data ialah fail sandaran untuk penyimpanan data Secara umumnya, ia boleh dibuka dengan meidaplayer, notepad atau word.

Apakah elemen input dalam jquery? Apakah elemen input dalam jquery? Jun 06, 2023 pm 02:18 PM

Dalam jquery, input ialah pemilih yang memilih elemen bentuk Fungsinya ialah: 1. Input digunakan untuk mengumpul maklumat pengguna Mengikut nilai atribut jenis yang berbeza, medan input mempunyai banyak bentuk kotak semak, atau topeng Kawalan teks, butang radio, butang, dsb. selepas butang Imej boleh diklik dan serah dll.

See all articles