Heim Backend-Entwicklung PHP-Tutorial PHP使用DES进行加密与解密的方法详解_PHP

PHP使用DES进行加密与解密的方法详解_PHP

Jun 01, 2016 pm 12:06 PM
des 加密解密

DES是一种标准的数据加密算法,关于这个算法的详细介绍可以参考wiki和百度百科:

wiki百科    百度百科

php中有一个扩展可以支持DES的加密算法,是:extension=php_mcrypt.dll

在配置文件中将这个扩展打开还不能够在windows环境下使用

需要将PHP文件夹下的 libmcrypt.dll 拷贝到系统的 system32 目录下,这是通过phpinfo可以查看到mcrypt表示这个模块可以正常试用了。

下面是PHP中使用DES加密解密的一个例子:
复制代码 代码如下:
//$input - stuff to decrypt
    //$key - the secret key to use

    function do_mencrypt($input, $key)
    {
        $input = str_replace(""n", "", $input);
        $input = str_replace(""t", "", $input);
        $input = str_replace(""r", "", $input);
        $key = substr(md5($key), 0, 24);
        $td = mcrypt_module_open('tripledes', '', 'ecb', '');
        $iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_RAND);
        mcrypt_generic_init($td, $key, $iv);
        $encrypted_data = mcrypt_generic($td, $input);
        mcrypt_generic_deinit($td);
        mcrypt_module_close($td);
        return trim(chop(base64_encode($encrypted_data)));
    }

    //$input - stuff to decrypt
    //$key - the secret key to use

    function do_mdecrypt($input, $key)
    {
        $input = str_replace(""n", "", $input);
        $input = str_replace(""t", "", $input);
        $input = str_replace(""r", "", $input);
        $input = trim(chop(base64_decode($input)));
        $td = mcrypt_module_open('tripledes', '', 'ecb', '');
        $key = substr(md5($key), 0, 24);
        $iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_RAND);
        mcrypt_generic_init($td, $key, $iv);
        $decrypted_data = mdecrypt_generic($td, $input);
        mcrypt_generic_deinit($td);
        mcrypt_module_close($td);
        return trim(chop($decrypted_data));

    }  

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße Artikel -Tags

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie füge ich die Win11-Verschlüsselungsfunktion zum Rechtsklick-Menü hinzu? Wie füge ich eine Win11-Verschlüsselungs- und Entschlüsselungsverknüpfung hinzu? Wie füge ich die Win11-Verschlüsselungsfunktion zum Rechtsklick-Menü hinzu? Wie füge ich eine Win11-Verschlüsselungs- und Entschlüsselungsverknüpfung hinzu? Jan 07, 2024 am 08:45 AM

Wie füge ich die Win11-Verschlüsselungsfunktion zum Rechtsklick-Menü hinzu? Wie füge ich eine Win11-Verschlüsselungs- und Entschlüsselungsverknüpfung hinzu?

Verschlüsseln und entschlüsseln Sie sensible Daten mithilfe der Yii-Framework-Middleware Verschlüsseln und entschlüsseln Sie sensible Daten mithilfe der Yii-Framework-Middleware Jul 28, 2023 pm 07:12 PM

Verschlüsseln und entschlüsseln Sie sensible Daten mithilfe der Yii-Framework-Middleware

Analyse von Verschlüsselungs- und Entschlüsselungsbeispielen von PHP und Java des Analyse von Verschlüsselungs- und Entschlüsselungsbeispielen von PHP und Java des Apr 29, 2023 am 09:40 AM

Analyse von Verschlüsselungs- und Entschlüsselungsbeispielen von PHP und Java des

In PHP im WeChat-Applet entwickelte Verschlüsselungs- und Entschlüsselungsimplementierungsmethode In PHP im WeChat-Applet entwickelte Verschlüsselungs- und Entschlüsselungsimplementierungsmethode Jun 01, 2023 am 08:12 AM

In PHP im WeChat-Applet entwickelte Verschlüsselungs- und Entschlüsselungsimplementierungsmethode

Datenverschlüsselung und -entschlüsselung mithilfe von React Query und Datenbank Datenverschlüsselung und -entschlüsselung mithilfe von React Query und Datenbank Sep 26, 2023 pm 12:53 PM

Datenverschlüsselung und -entschlüsselung mithilfe von React Query und Datenbank

PHP-Postfachentwicklung: Implementierung von E-Mail-Verschlüsselungs- und Entschlüsselungsfunktionen PHP-Postfachentwicklung: Implementierung von E-Mail-Verschlüsselungs- und Entschlüsselungsfunktionen Sep 12, 2023 am 10:40 AM

PHP-Postfachentwicklung: Implementierung von E-Mail-Verschlüsselungs- und Entschlüsselungsfunktionen

Beispiel für die Datenverschlüsselung und -entschlüsselung beim Andocken der PHP-Tencent-Cloud-Server-API-Schnittstelle Beispiel für die Datenverschlüsselung und -entschlüsselung beim Andocken der PHP-Tencent-Cloud-Server-API-Schnittstelle Jul 05, 2023 pm 06:16 PM

Beispiel für die Datenverschlüsselung und -entschlüsselung beim Andocken der PHP-Tencent-Cloud-Server-API-Schnittstelle

Eingehende Untersuchung der Netzwerkkommunikationsverschlüsselung und -entschlüsselung von Swoole-Entwicklungsfunktionen Eingehende Untersuchung der Netzwerkkommunikationsverschlüsselung und -entschlüsselung von Swoole-Entwicklungsfunktionen Aug 08, 2023 am 08:13 AM

Eingehende Untersuchung der Netzwerkkommunikationsverschlüsselung und -entschlüsselung von Swoole-Entwicklungsfunktionen

See all articles