php史上公认最安全的正反加密解密函数
之前写过一个加解密的文章,也能凑合着使用, 现在为了安全, 用php写了一个triple des(3DES)的正反加解密函数. 3DES是公认的最安全的加密解密函数了,只是可惜的是php没有提供这样现成的函数,于是乎自己写了一个3DES版本的方法,3DES有很多版本,该版本采用的是ECB模式,用PKCS7补码,base64做密文,安全等级高,一般使用该函数只要修改其中的key即可.
测试:
echo (des3crypt( “龙哥博客”,’ENCODE’));
echo “
“;
echo (des3crypt( “bxC46TETFEZFpTS1DClzpg==”,’DECODE’));
echo “
“;
/**
* 加解密函数
* @param $str
* @param $type
* @param $key
*/
function des3crypt($str,$type = ‘ENCODE’,$key = ‘AXNU7SLKJ7HKJm+x4bfBJSJQKde’){
if(empty($str) && $str != 0){
return false;
}
$td = mcrypt_module_open( MCRYPT_3DES, ”, MCRYPT_MODE_ECB, ”);
$key = base64_decode($key);
mcrypt_generic_init($td, $key,’12345678′);
if(strtoupper($type) == ‘ENCODE’){
$str = padding( $str );
$data = mcrypt_generic($td, $str);
}elseif(strtoupper($type) == ‘DECODE’){
$str = base64_decode($str);
$data = mdecrypt_generic($td, $str);
}
//加密
mcrypt_generic_deinit($td);
//结束
mcrypt_module_close($td);
if(strtoupper($type) == ‘ENCODE’){
$data = removeBR(base64_encode($data));
}elseif(strtoupper($type) == ‘DECODE’){
$data = removePadding($data);
}
return $data;
}
//删除填充符
function removePadding( $str ){
$len = strlen( $str );
$newstr = “”;
$str = str_split($str);
for ($i = 0; $i if (!in_array($str[$i],array(chr(0),chr(1),chr(2),chr(3),chr(4),chr(5),chr(6),chr(7),chr(8)))){
$newstr .= $str[$i];
}
}
return $newstr;
}
//填充密码,填充至8的倍数,pkcs7 | pkcs5
function padding( $str ,$pkcs = 5){
if($pkcs == 5){
$pad = 8 – (strlen($str) % 8);
$str .= str_repeat(chr($pad), $pad);
}elseif($pkcs == 7){
$len = 8 – strlen( $str ) % 8;
for ( $i = 0; $i $str .= chr( 0 );
}
}
return $str ;
}
/**
* http://52blogger.com 龙哥博客版权所有,欢迎转载,转载请务必注明来源,违版必究.
*/
//删除回车和换行
function removeBR( $str ){
$len = strlen( $str );
$newstr = “”;
$str = str_split($str);
for ($i = 0; $i if ($str[$i] != ‘\n’ and $str[$i] != ‘\r’){
$newstr .= $str[$i];
}
}
return $newstr;
}
文章来源:龙哥博客 原文:http://www.52blogger.com/archives/821

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

PHP 8.4 apporte plusieurs nouvelles fonctionnalités, améliorations de sécurité et de performances avec une bonne quantité de dépréciations et de suppressions de fonctionnalités. Ce guide explique comment installer PHP 8.4 ou mettre à niveau vers PHP 8.4 sur Ubuntu, Debian ou leurs dérivés. Bien qu'il soit possible de compiler PHP à partir des sources, son installation à partir d'un référentiel APT comme expliqué ci-dessous est souvent plus rapide et plus sécurisée car ces référentiels fourniront les dernières corrections de bogues et mises à jour de sécurité à l'avenir.

Pour travailler avec la date et l'heure dans cakephp4, nous allons utiliser la classe FrozenTime disponible.

Pour travailler sur le téléchargement de fichiers, nous allons utiliser l'assistant de formulaire. Voici un exemple de téléchargement de fichiers.

CakePHP est un framework open source pour PHP. Il vise à faciliter grandement le développement, le déploiement et la maintenance d'applications. CakePHP est basé sur une architecture de type MVC à la fois puissante et facile à appréhender. Modèles, vues et contrôleurs gu

Le validateur peut être créé en ajoutant les deux lignes suivantes dans le contrôleur.

Visual Studio Code, également connu sous le nom de VS Code, est un éditeur de code source gratuit – ou environnement de développement intégré (IDE) – disponible pour tous les principaux systèmes d'exploitation. Avec une large collection d'extensions pour de nombreux langages de programmation, VS Code peut être c

Se connecter à CakePHP est une tâche très simple. Il vous suffit d'utiliser une seule fonction. Vous pouvez enregistrer les erreurs, les exceptions, les activités des utilisateurs, les actions entreprises par les utilisateurs, pour tout processus en arrière-plan comme cronjob. La journalisation des données dans CakePHP est facile. La fonction log() est fournie

Ce tutoriel montre comment traiter efficacement les documents XML à l'aide de PHP. XML (Language de balisage extensible) est un langage de balisage basé sur le texte polyvalent conçu à la fois pour la lisibilité humaine et l'analyse de la machine. Il est couramment utilisé pour le stockage de données et
