Login
网站首页 > 文章中心 > 其它

js和php加密_php代码如何加密

作者:小编 更新时间:2023-08-03 08:23:19 浏览量:79人看过

sha1加密处理中文时在js和php中不一样怎么办!如何处理!!!

前端对中文进行encodeURI,这样中文就会变成字符,英文和数字,再对其进行sha1加密,就可以和php的一致了,之后在后端用urldecode还原为中文就行了.前端和后端的URL编码函数是不同的需要注意.

前端JS AES加密 后端PHP AES加解密

js和php加密_php代码如何加密-图1

!DOCTYPEhtml

html

head

? titleaes demo/title

/head

body

? script type="text/javascript" src="./CryptoJS/aes.js"/script

? script type="text/javascript" src="./CryptoJS/pad-zeropadding.js"/script

? script type="text/javascript"

? var encrypted = CryptoJS.AES.encrypt(text, key, {

? ? ? iv: iv,

? ? ? mode: CryptoJS.mode.CBC,

js和php加密_php代码如何加密-图2

? ? ? padding: CryptoJS.pad.ZeroPadding

? }).toString()

? document.write(encrypted);

? /script

/body

/html

后端

? }?

? }

ps:

php需要

则$password才能正确解析出来

需要引入的两个js文件

ase.js

[javascript] view plain copy

/*

code.google.com/p/crypto-js

code.google.com/p/crypto-js/wiki/License

*/

var CryptoJS=CryptoJS||function(u,p){var d={},l=d.lib={},s=function(){},t=l.Base={extend:function(a){s.prototype=this;var c=new s;ac.mixIn(a);c.hasOwnProperty("init")||(c.init=function(){c.$super.init.apply(this,arguments)});c.init.prototype=c;c.$super=this;return c},create:function(){var a=this.extend();a.init.apply(a,arguments);return a},init:function(){},mixIn:function(a){for(var c in a)a.hasOwnProperty(c)(this[c]=a[c]);a.hasOwnProperty("toString")(this.toString=a.toString)},clone:function(){return this.init.prototype.extend(this)}},

e)).finalize(b)}}});var n=d.algo={};return d}(Math);

l)}})();

c[d]},q=(d.BlockCipherMode=l.extend({createEncryptor:function(e,a){return this.Encryptor.create(e,a)},createDecryptor:function(e,a){return this.Decryptor.create(e,a)},init:function(e,a){this._cipher=e;this._iv=a}})).extend();q.Encryptor=q.extend({processBlock:function(e,a){var b=this._cipher,c=b.blockSize;x.call(this,e,a,c);b.encryptBlock(e,a);this._prevBlock=e.slice(a,a+c)}});q.Decryptor=q.extend({processBlock:function(e,a){var b=this._cipher,c=b.blockSize,d=e.slice(a,a+c);b.decryptBlock(e,a);x.call(this,

b.keySize,b.ivSize);l.iv=d.iv;b=a.encrypt.call(this,b,c,d.key,l);b.mixIn(d);return b},decrypt:function(b,c,d,l){l=this.cfg.extend(l);c=this._parse(c,l.format);d=l.kdf.execute(d,b.keySize,b.ivSize,c.salt);l.iv=d.iv;return a.decrypt.call(this,b,c,d.key,l)}})}();

pad-zeropadding.js

/**

* Zero padding strategy.

CryptoJS.pad.ZeroPadding = {

? pad: function (data, blockSize) {

? ? ? // Shortcut

? ? ? // Pad

js和php加密_php代码如何加密-图3

? ? ? data.clamp();

? ? ? data.sigBytes += blockSizeBytes - ((data.sigBytes % blockSizeBytes) || blockSizeBytes);

? },?

? unpad: function (data) {

? ? ? var dataWords = data.words;?

? ? ? // Unpad

? ? ? var i = data.sigBytes - 1;

? ? ? ? ? i--;

? ? ? }

? ? ? data.sigBytes = i + 1;

};?

前端使用CryptoJS AES加密 ,后端php解密问题

php?

$data?=?"This?is?an?AES?crypt?demo.";?

//加密?

echo?$encrypted,PHP_EOL;

//?解密?

$encryptedData?=?$encrypted;?

echo($decrypted);

输出结果如下:

This?is?an?AES?crypt?demo.

为什么 php md5 与 用 js md5 加密出来的结果不一样,怎么解决,使

php的输出是正确的 不一致要改js的

php base64 加密 和javascript base64 不一样

这两种编码编出来的字节是不一样

导致你看到的结果不一样.

如果你想PHP加出来和在线加密一样,你可以把编码转一致就可以了.

这样子就能和在线加密是一样的了.

php加密数字 js解密

在JS里面也可嵌套PHP语言,所以可以直接嵌套就好了

以上就是土嘎嘎小编为大家整理的js和php加密相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章