Maison  >  Article  >  interface Web  >  Partagez un exemple de problème basé sur le chiffrement crypto-js

Partagez un exemple de problème basé sur le chiffrement crypto-js

零下一度
零下一度original
2017-05-16 09:58:002622parcourir

Récemment, j'ai utilisé PHP pour créer un site Web HTML5 pour le streaming en ligne de films/séries télévisées. J'ai utilisé curl de PHP pour l'exploration en temps réel. J'ai rencontré un problème avec le cryptage JS, alors Google l'a résolu et j'ai trouvé. cet article.

Une vague de publicités

Page d'accueil personnelle : www.linganmin.cn
Adresse de la station de cinéma : www.ifilm.ltd

Parlons de js basé sur la crypto- js Crypto

CryptoJS est une bibliothèque de classes de chiffrement écrite uniquement en javascript Son adresse d'entrepôt GitHub est github.com/brix/crypt...

Nous en avons besoin quand. en l'utilisant CiterLe fichier js, pour plus de commodité j'ai cité le lien sur le CDN

Le code

<script src="cdn.bootcss.com/crypto-js/3.1.9/crypto-js.js"></script>
<script>
var data = "en2JprK0nMyYgbd6dQO0O0OO0O0O" // 需要加密的字符串
var key_base="contentWindowHig"; // 加密秘钥的基值
var iv_base="contentDocuments"; // 加密所需iv基值
/**
 * 定义加密函数
 * @param  {[type]} a [形参,需要加密的值]
 * @return {[type]}   [加密后的值]
 */
 var get=function(a){
     var key_hash=CryptoJS.MD5(key_base); 
     var key=CryptoJS.enc.Utf8.parse(key_hash);
     var iv=CryptoJS.enc.Utf8.parse(iv_base);
     var res=CryptoJS.AES.encrypt(a,key,{iv:iv,mode:CryptoJS.mode.CBC,padding:CryptoJS.pad.ZeroPadding});
     return res.toString()
 }
    console.log(get(data)) // tPYJv39iEbdFD/UqNejyvkLG8ATdifyfE+BDeld2jWk=
</script>

Parlons du même cryptage et décryptage en PHP

Pour l'élégance de l'article, php utilisera le même nom de variable que js

sur le code

// 定义变量
$data = "en2JprK0nMyYgbd6dQO0O0OO0O0O";
$key_base = "contentWindowHig";
$iv_base = "contentDocuments";
// 加密前处理
$key = md5(&#39;contentWindowHig&#39;);
$iv = $iv_base;
// 加密
$cryptText = mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $key, $data, MCRYPT_MODE_CBC, $iv);
$res = base64_encode($cryptText);
// 解密
$cryptText = base64_decode($res); 
$decode = mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $key, $cryptText, MCRYPT_MODE_CBC, $iv);

[Recommandations associées]

1. Recommandation spéciale : Téléchargement de la version V0.1 de "php Programmer Toolbox"

2. tutoriel

3

php.cn Dugu Jiujian (3) - Tutoriel vidéo JavaScript

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn