1. <ul id="0c1fb"></ul>

      <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
      <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区

      RELATEED CONSULTING
      相關(guān)咨詢
      選擇下列產(chǎn)品馬上在線溝通
      服務(wù)時(shí)間:8:30-17:00
      你可能遇到了下面的問(wèn)題
      關(guān)閉右側(cè)工具欄

      新聞中心

      這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
      jsphp數(shù)據(jù)加密 jsp如何設(shè)置密碼格式

      js用什么方法對(duì)ajax的post的數(shù)據(jù)進(jìn)行加密傳輸php進(jìn)行解密

      利用可逆函數(shù)加隨機(jī)鹽進(jìn)行加密和解密~

      梁山網(wǎng)站制作公司哪家好,找成都創(chuàng)新互聯(lián)!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)公司等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營(yíng)維護(hù)。成都創(chuàng)新互聯(lián)從2013年創(chuàng)立到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來(lái)保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選成都創(chuàng)新互聯(lián)

      客戶端利用密鑰加密提交,服務(wù)端利用密鑰解密,密鑰一次性,使用后作廢

      如何給php代碼加密

      前臺(tái)加密

      后臺(tái)接收到后

      在和鹽值拼接

      在加密

      存入數(shù)據(jù)庫(kù)

      我用md5舉例

      前臺(tái):md5(pwd);

      //前臺(tái)找一個(gè)js加密擴(kuò)展就行

      后臺(tái):

      $salt

      =

      mt_rand(100000,999999);

      //隨機(jī)鹽值

      $pwd

      =

      md5($_GET('pwd').$salt);

      //這樣雙重加密后入庫(kù)了

      登錄驗(yàn)證時(shí)

      前臺(tái)也記得加密哦

      如何對(duì)PHP文件進(jìn)行加密

      Zend Guard是目前市面上最成熟的PHP源碼加密產(chǎn)品。

      經(jīng)過(guò)本人搜集資料,親身測(cè)試后,總結(jié)了如何利用Zend Guard對(duì)PHP文件進(jìn)行加密,以及如何利用Zend Loader對(duì)加密后的PHP文件進(jìn)行解密。

      我使用的是Wampserver2.2,其中php的版本是5.3.10。(注意:這個(gè)里面自帶的php版本屬于TS版本,即Thread safety線程安全)

      Zend Guard的安裝及破解

      點(diǎn)擊下載 Zend Guard5.5.0,下載完成后,請(qǐng)自行傻瓜式安裝。

      破解需要注意以下幾點(diǎn):

      1、本KEY的有效時(shí)間為2010年7月10號(hào),因此激活時(shí),請(qǐng)將自己電腦的系統(tǒng)時(shí)間調(diào)整到這個(gè)時(shí)間之前,如:2009-01-01

      2、本KEY激活的為試用版,加密過(guò)的文件只有14天有效時(shí)間,因此在加密文件時(shí),請(qǐng)將自己電腦的系統(tǒng)時(shí)間向后調(diào)整幾年,如:2020-01-01

      3、點(diǎn)擊下載授權(quán)文件 zend_guard授權(quán)文件.zip,解壓得到zend_guard.zl,即激活用的文件

      4、打開Zend Guard 5.5.0,[Help] - [Register] - [Search for a license file on my disk],選擇zend_guard.zl授權(quán)文件激活即可

      如何使用Zend Guard進(jìn)行加密?

      1、打開Zend Guard 5.5.0,[File]-[New]-[Zend Guard Project],新建項(xiàng)目。

      彈出如下的對(duì)話框:

      2、點(diǎn)擊 Next ,下一步。彈出如下對(duì)話框,選擇要進(jìn)行加密的源文件或文件夾。

      本步驟是選擇要加密的文件,可以是單個(gè)文件[Add File]或整個(gè)文件夾[Add Folder],然后[Next]。

      (此處,我選擇的是對(duì)整個(gè)文件夾進(jìn)行加密。即 D:\wamp\www\demo 里的所有文件進(jìn)行加密。)

      3、接下來(lái)是選擇PHP的版本[與你web服務(wù)器上PHP的版本相對(duì)照],這里很重要,版本不對(duì)會(huì)出錯(cuò),[Finish]完成項(xiàng)目的創(chuàng)建。

      注意: 對(duì)于Zend Guard 5.5.0這個(gè)版本的加密軟件,最高只可支持5.3版本的PHP。如果您的PHP版本較高,請(qǐng)到Zend Guard官網(wǎng)下載對(duì)應(yīng)的高版本加密軟件。

      (由于,我的PHP版本是PHP 5.3.10,故這里我選擇PHP 5.3,其他地方可以默認(rèn),直接點(diǎn)擊完成)

      4、在Zend Guard左側(cè)的Guard Explorer中,可以看到你新建的項(xiàng)目了,鼠標(biāo)選中項(xiàng)目名稱后,右鍵單擊[Encode Project],完成。

      如此,就實(shí)現(xiàn)了對(duì)PHP源碼的最簡(jiǎn)單的加密。

      我們可以在產(chǎn)品的輸出目錄(D:\productDir)里,看到加密后的文件。

      可以看出,產(chǎn)品輸出目錄里的PHP文件已被加密了。

      這種最簡(jiǎn)單的加密方式,我們并沒有設(shè)置加密的有效期,也沒有設(shè)置許可證支持(即解密時(shí),是否需要許可證文件),默認(rèn)是永不過(guò)期,不需要解密許可文件。

      如果要設(shè)置解密時(shí)的許可證文件,可以點(diǎn)擊 項(xiàng)目名稱(project_test) ,再點(diǎn)擊 項(xiàng)目主窗口中的 Overview 旁邊的 Security 選項(xiàng)卡,就可以進(jìn)行更加安全的加密設(shè)置了。 如下圖:

      Zend Loader 解密

      上面我們已經(jīng)對(duì)PHP代碼進(jìn)行了最簡(jiǎn)單的加密(編碼),加密后生成的PHP源代碼,就不能再被web服務(wù)器上的PHP模塊解析了。

      當(dāng)我們將加密后的php文件放到web服務(wù)器上執(zhí)行時(shí),會(huì)顯示如下信息:

      Zend Guard Run-time support missing!

      One more more files on this web site were encoded by ZendGuard and the required run-time support is not installed orproperly configured.

      ......

      原來(lái),加密后的php代碼需要ZendGuardLoader模塊才能正常運(yùn)行。

      因?yàn)槲业膒hp版本是5.3.10的,所以我這里只提供了ZendGuardLoader-php-5.3-Windows,如果是其他版本的php,請(qǐng)自行百度。

      點(diǎn)擊下載 ZendGuardLoader-php-5.3-Windows

      下載后,解壓壓縮包,找到目錄里的 ZendLoader.dll 文件,將它復(fù)制到你的php目錄里的ext目錄(PHP的擴(kuò)展庫(kù)目錄)下,再編輯PHP的配置文件php.ini,添加如下代碼:

      [Zend.loader],

      zend_loader.enable=1

      zend_loader.disable_licensing=1

      zend_loader.obfuscation_level_support=3

      zend_loader.license_path=

      zend_extension="d:\wamp\bin\php\php5.3.10\ext\ZendLoader.dll"

      注:

      zend_loader.enable 表示是否啟用zend loader,1表示啟用,0表示禁用

      zend_loader.disable_licensing 表示是否禁用許可證,1表示禁用,0表示不禁用 (由于上面我加密php文件的時(shí)候,沒有設(shè)置許可證支持,故解密時(shí),禁用許可證)

      zend_loader.obfuscation_level_support 表示代碼混淆級(jí)別

      zend_loader.license_path 指定許可證文件的路徑

      zend_extension 指定zend loader 擴(kuò)展文件 的路徑

      配置完成后,重啟wampserver,如果您的php的版本是NTS(非線程安全的話),就可以正常執(zhí)行加密后的PHP文件了。

      但是,多數(shù)情況下的php版本都是TS(線程安全)的,比如,我這個(gè)wampserver集成環(huán)境中的php是php-5.3.10-ts,它是沒有辦法支持Zend Guard Loader擴(kuò)展文件的。故還會(huì)報(bào)出上面的錯(cuò)誤提示信息。

      因?yàn)椋琙end Guard Loader 只能支持 NTS版本的php,終極解決辦法是下載安裝 NTS 版本的php。

      為了實(shí)現(xiàn)PHP源文件的 Zend 解密測(cè)試,可以下載安裝 php-5.3.29-nts-Win32-VC9-x86,再來(lái)配置 Zend Loader 擴(kuò)展支持。

      如何查看安裝好的PHP的版本及PHP是否已經(jīng)成功支持Zend Loader?

      通過(guò)查看 phpinfo() 函數(shù)的輸出信息,利用 Ctrl + F 快速查找關(guān)鍵字Thread Safety 和 Zend Guard Loader。

      如本人安裝好php-5.3.29-nts版本的php后,phpinfo()的輸出信息如下:

      可以看到,Thread Safety 對(duì)應(yīng)的值為disabled,就說(shuō)明該php的版本是 NTS (非線程安全)的,否則就是TS版本的。

      輸出信息中,還可以看到 Zend Guard Loader v3.3 字樣,說(shuō)明 Zend Guard Loader 也安裝成功了。

      再往下面看,還可以查看 Zend Guard Loader 的配置信息,如下:

      到此,整個(gè) Zend Guard 加密和 Zend Guard Loader 解密,就介紹完畢了。

      溫馨提示: 為了順利實(shí)現(xiàn)PHP代碼的zend加密和解密,建議使用PHP官網(wǎng)上主流的PHP的NTS版和Zend官網(wǎng)上對(duì)應(yīng)的Zend Guard加密軟件、 Zend Guard Loader解密插件。

      相關(guān)附件:

      Wampserver2.2

      Zend

      Guard5.5.0

      php-5.3.29-nts-Win32-VC9-x86

      mod_fcgid-2.3.6-win32-x86.zip

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

      !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"

      text = 'did=12345dgversion=1';

      var key = '123454536f667445454d537973576562';

      key = CryptoJS.enc.Utf8.parse(key);

      var iv = "1234577290ABCDEF1264147890ACAE45";

      iv = CryptoJS.enc.Utf8.parse(iv);

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

      ? ? iv: iv,

      ? ? mode: CryptoJS.mode.CBC,

      ? ? padding: CryptoJS.pad.ZeroPadding

      }).toString()

      document.write(encrypted);

      /script

      /body

      /html

      后端

      public function encrypt2($input = ''){

      ? ? $pk = "123454536f667445454d537973576562";

      ? ? $iv = substr("1234577290ABCDEF1264147890ACAE45", 0, 16);

      ? ? // $t = 'T10515';

      ? ? $encrypted = ( mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $pk, $input, MCRYPT_MODE_CBC,$iv) );

      ? ? return base64_encode($encrypted);

      }?

      public function decrypt2($encrypted){

      ? ? $pk = "123454536f667445454d537973576562";

      ? ? $iv = substr("1234577290ABCDEF1264147890ACAE45", 0, 16);

      ? ? // $t = 'T10515';

      ? ? // $encrypted = "b7y/JPJFNTfxNVR8H4NNtw==";

      ? ? return? mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $pk, base64_decode($encrypted), MCRYPT_MODE_CBC, $iv);

      }

      可以推斷, js 部分實(shí)際只使用了 iv 的 16 位長(zhǎng)度

      ps:

      js加密后默認(rèn)會(huì)base64_encode

      使用php解密需要base64_decode后才一致

      所以使用js加密和php解密時(shí)候需要注意,php端要先base64_decode再解密,例:

      js加密的串是$t=b7y/JPJFNTfxNVR8H4NNtw==

      php需要

      $password= trim(mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $pk,base64_decode( $t), MCRYPT_MODE_CBC, $iv));

      則$password才能正確解析出來(lái)

      需要引入的兩個(gè)js文件

      ase.js

      [javascript] view plain copy

      /*

      CryptoJS v3.1.2

      code.google點(diǎn)抗 /p/crypto-js

      (c) 2009-2013 by Jeff Mott. All rights reserved.

      code.google點(diǎn)抗 /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)}},

      r=l.WordArray=t.extend({init:function(a,c){a=this.words=a||[];this.sigBytes=c!=p?c:4*a.length},toString:function(a){return(a||v).stringify(this)},concat:function(a){var c=this.words,e=a.words,j=this.sigBytes;a=a.sigBytes;this.clamp();if(j%4)for(var k=0;ka;k++)c[j+k2]|=(e[k2]24-8*(k%4)255)24-8*((j+k)%4);else if(65535e.length)for(k=0;ka;k+=4)c[j+k2]=e[k2];else c.push.apply(c,e);this.sigBytes+=a;return this},clamp:function(){var a=this.words,c=this.sigBytes;a[c2]=4294967295

      32-8*(c%4);a.length=u.ceil(c/4)},clone:function(){var a=t.clone.call(this);a.words=this.words.slice(0);return a},random:function(a){for(var c=[],e=0;ea;e+=4)c.push(4294967296*u.random()|0);return new r.init(c,a)}}),w=d.enc={},v=w.Hex={stringify:function(a){var c=a.words;a=a.sigBytes;for(var e=[],j=0;ja;j++){var k=c[j2]24-8*(j%4)255;e.push((k4).toString(16));e.push((k15).toString(16))}return e.join("")},parse:function(a){for(var c=a.length,e=[],j=0;jc;j+=2)e[j3]|=parseInt(a.substr(j,

      2),16)24-4*(j%8);return new r.init(e,c/2)}},b=w.Latin1={stringify:function(a){var c=a.words;a=a.sigBytes;for(var e=[],j=0;ja;j++)e.push(String.fromCharCode(c[j2]24-8*(j%4)255));return e.join("")},parse:function(a){for(var c=a.length,e=[],j=0;jc;j++)e[j2]|=(a.charCodeAt(j)255)24-8*(j%4);return new r.init(e,c)}},x=w.Utf8={stringify:function(a){try{return decodeURIComponent(escape(b.stringify(a)))}catch(c){throw Error("Malformed UTF-8 data");}},parse:function(a){return b.parse(unescape(encodeURIComponent(a)))}},

      q=l.BufferedBlockAlgorithm=t.extend({reset:function(){this._data=new r.init;this._nDataBytes=0},_append:function(a){"string"==typeof a(a=x.parse(a));this._data.concat(a);this._nDataBytes+=a.sigBytes},_process:function(a){var c=this._data,e=c.words,j=c.sigBytes,k=this.blockSize,b=j/(4*k),b=a?u.ceil(b):u.max((b|0)-this._minBufferSize,0);a=b*k;j=u.min(4*a,j);if(a){for(var q=0;qa;q+=k)this._doProcessBlock(e,q);q=e.splice(0,a);c.sigBytes-=j}return new r.init(q,j)},clone:function(){var a=t.clone.call(this);

      a._data=this._data.clone();return a},_minBufferSize:0});l.Hasher=q.extend({cfg:t.extend(),init:function(a){this.cfg=this.cfg.extend(a);this.reset()},reset:function(){q.reset.call(this);this._doReset()},update:function(a){this._append(a);this._process();return this},finalize:function(a){athis._append(a);return this._doFinalize()},blockSize:16,_createHelper:function(a){return function(b,e){return(new a.init(e)).finalize(b)}},_createHmacHelper:function(a){return function(b,e){return(new n.HMAC.init(a,

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

      (function(){var u=CryptoJS,p=u.lib.WordArray;u.enc.Base64={stringify:function(d){var l=d.words,p=d.sigBytes,t=this._map;d.clamp();d=[];for(var r=0;rp;r+=3)for(var w=(l[r2]24-8*(r%4)255)16|(l[r+12]24-8*((r+1)%4)255)8|l[r+22]24-8*((r+2)%4)255,v=0;4vr+0.75*vp;v++)d.push(t.charAt(w6*(3-v)63));if(l=t.charAt(64))for(;d.length%4;)d.push(l);return d.join("")},parse:function(d){var l=d.length,s=this._map,t=s.charAt(64);t(t=d.indexOf(t),-1!=t(l=t));for(var t=[],r=0,w=0;w

      l;w++)if(w%4){var v=s.indexOf(d.charAt(w-1))2*(w%4),b=s.indexOf(d.charAt(w))6-2*(w%4);t[r2]|=(v|b)24-8*(r%4);r++}return p.create(t,r)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="}})();

      (function(u){function p(b,n,a,c,e,j,k){b=b+(na|~nc)+e+k;return(bj|b32-j)+n}function d(b,n,a,c,e,j,k){b=b+(nc|a~c)+e+k;return(bj|b32-j)+n}function l(b,n,a,c,e,j,k){b=b+(n^a^c)+e+k;return(bj|b32-j)+n}function s(b,n,a,c,e,j,k){b=b+(a^(n|~c))+e+k;return(bj|b32-j)+n}for(var t=CryptoJS,r=t.lib,w=r.WordArray,v=r.Hasher,r=t.algo,b=[],x=0;64x;x++)b[x]=4294967296*u.abs(u.sin(x+1))|0;r=r.MD5=v.extend({_doReset:function(){this._hash=new w.init([1732584193,4023233417,2562383102,271733878])},

      _doProcessBlock:function(q,n){for(var a=0;16a;a++){var c=n+a,e=q[c];q[c]=(e8|e24)16711935|(e24|e8)4278255360}var a=this._hash.words,c=q[n+0],e=q[n+1],j=q[n+2],k=q[n+3],z=q[n+4],r=q[n+5],t=q[n+6],w=q[n+7],v=q[n+8],A=q[n+9],B=q[n+10],C=q[n+11],u=q[n+12],D=q[n+13],E=q[n+14],x=q[n+15],f=a[0],m=a[1],g=a[2],h=a[3],f=p(f,m,g,h,c,7,b[0]),h=p(h,f,m,g,e,12,b[1]),g=p(g,h,f,m,j,17,b[2]),m=p(m,g,h,f,k,22,b[3]),f=p(f,m,g,h,z,7,b[4]),h=p(h,f,m,g,r,12,b[5]),g=p(g,h,f,m,t,17,b[6]),m=p(m,g,h,f,w,22,b[7]),

      f=p(f,m,g,h,v,7,b[8]),h=p(h,f,m,g,A,12,b[9]),g=p(g,h,f,m,B,17,b[10]),m=p(m,g,h,f,C,22,b[11]),f=p(f,m,g,h,u,7,b[12]),h=p(h,f,m,g,D,12,b[13]),g=p(g,h,f,m,E,17,b[14]),m=p(m,g,h,f,x,22,b[15]),f=d(f,m,g,h,e,5,b[16]),h=d(h,f,m,g,t,9,b[17]),g=d(g,h,f,m,C,14,b[18]),m=d(m,g,h,f,c,20,b[19]),f=d(f,m,g,h,r,5,b[20]),h=d(h,f,m,g,B,9,b[21]),g=d(g,h,f,m,x,14,b[22]),m=d(m,g,h,f,z,20,b[23]),f=d(f,m,g,h,A,5,b[24]),h=d(h,f,m,g,E,9,b[25]),g=d(g,h,f,m,k,14,b[26]),m=d(m,g,h,f,v,20,b[27]),f=d(f,m,g,h,D,5,b[28]),h=d(h,f,

      m,g,j,9,b[29]),g=d(g,h,f,m,w,14,b[30]),m=d(m,g,h,f,u,20,b[31]),f=l(f,m,g,h,r,4,b[32]),h=l(h,f,m,g,v,11,b[33]),g=l(g,h,f,m,C,16,b[34]),m=l(m,g,h,f,E,23,b[35]),f=l(f,m,g,h,e,4,b[36]),h=l(h,f,m,g,z,11,b[37]),g=l(g,h,f,m,w,16,b[38]),m=l(m,g,h,f,B,23,b[39]),f=l(f,m,g,h,D,4,b[40]),h=l(h,f,m,g,c,11,b[41]),g=l(g,h,f,m,k,16,b[42]),m=l(m,g,h,f,t,23,b[43]),f=l(f,m,g,h,A,4,b[44]),h=l(h,f,m,g,u,11,b[45]),g=l(g,h,f,m,x,16,b[46]),m=l(m,g,h,f,j,23,b[47]),f=s(f,m,g,h,c,6,b[48]),h=s(h,f,m,g,w,10,b[49]),g=s(g,h,f,m,

      E,15,b[50]),m=s(m,g,h,f,r,21,b[51]),f=s(f,m,g,h,u,6,b[52]),h=s(h,f,m,g,k,10,b[53]),g=s(g,h,f,m,B,15,b[54]),m=s(m,g,h,f,e,21,b[55]),f=s(f,m,g,h,v,6,b[56]),h=s(h,f,m,g,x,10,b[57]),g=s(g,h,f,m,t,15,b[58]),m=s(m,g,h,f,D,21,b[59]),f=s(f,m,g,h,z,6,b[60]),h=s(h,f,m,g,C,10,b[61]),g=s(g,h,f,m,j,15,b[62]),m=s(m,g,h,f,A,21,b[63]);a[0]=a[0]+f|0;a[1]=a[1]+m|0;a[2]=a[2]+g|0;a[3]=a[3]+h|0},_doFinalize:function(){var b=this._data,n=b.words,a=8*this._nDataBytes,c=8*b.sigBytes;n[c5]|=12824-c%32;var e=u.floor(a/

      4294967296);n[(c+6494)+15]=(e8|e24)16711935|(e24|e8)4278255360;n[(c+6494)+14]=(a8|a24)16711935|(a24|a8)4278255360;b.sigBytes=4*(n.length+1);this._process();b=this._hash;n=b.words;for(a=0;4a;a++)c=n[a],n[a]=(c8|c24)16711935|(c24|c8)4278255360;return b},clone:function(){var b=v.clone.call(this);b._hash=this._hash.clone();return b}});t.MD5=v._createHelper(r);t.HmacMD5=v._createHmacHelper(r)})(Math);

      (function(){var u=CryptoJS,p=u.lib,d=p.Base,l=p.WordArray,p=u.algo,s=p.EvpKDF=d.extend({cfg:d.extend({keySize:4,hasher:p.MD5,iterations:1}),init:function(d){this.cfg=this.cfg.extend(d)},compute:function(d,r){for(var p=this.cfg,s=p.hasher.create(),b=l.create(),u=b.words,q=p.keySize,p=p.iterations;u.lengthq;){ns.update(n);var n=s.update(d).finalize(r);s.reset();for(var a=1;ap;a++)n=s.finalize(n),s.reset();b.concat(n)}b.sigBytes=4*q;return b}});u.EvpKDF=function(d,l,p){return s.create(p)點(diǎn)抗 pute(d,

      l)}})();

      CryptoJS.lib.Cipher||function(u){var p=CryptoJS,d=p.lib,l=d.Base,s=d.WordArray,t=d.BufferedBlockAlgorithm,r=p.enc.Base64,w=p.algo.EvpKDF,v=d.Cipher=t.extend({cfg:l.extend(),createEncryptor:function(e,a){return this.create(this._ENC_XFORM_MODE,e,a)},createDecryptor:function(e,a){return this.create(this._DEC_XFORM_MODE,e,a)},init:function(e,a,b){this.cfg=this.cfg.extend(b);this._xformMode=e;this._key=a;this.reset()},reset:function(){t.reset.call(this);this._doReset()},process:function(e){this._append(e);return this._process()},

      finalize:function(e){ethis._append(e);return this._doFinalize()},keySize:4,ivSize:4,_ENC_XFORM_MODE:1,_DEC_XFORM_MODE:2,_createHelper:function(e){return{encrypt:function(b,k,d){return("string"==typeof k?c:a).encrypt(e,b,k,d)},decrypt:function(b,k,d){return("string"==typeof k?c:a).decrypt(e,b,k,d)}}}});d.StreamCipher=v.extend({_doFinalize:function(){return this._process(!0)},blockSize:1});var b=p.mode={},x=function(e,a,b){var c=this._iv;c?this._iv=u:c=this._prevBlock;for(var d=0;db;d++)e[a+d]^=

      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,

      e,a,c);this._prevBlock=d}});b=b.CBC=q;q=(p.pad={}).Pkcs7={pad:function(a,b){for(var c=4*b,c=c-a.sigBytes%c,d=c24|c16|c8|c,l=[],n=0;nc;n+=4)l.push(d);c=s.create(l,c);a.concat(c)},unpad:function(a){a.sigBytes-=a.words[a.sigBytes-12]255}};d.BlockCipher=v.extend({cfg:v.cfg.extend({mode:b,padding:q}),reset:function(){v.reset.call(this);var a=this.cfg,b=a.iv,a=a.mode;if(this._xformMode==this._ENC_XFORM_MODE)var c=a.createEncryptor;else c=a.createDecryptor,this._minBufferSize=1;this._mode=c.call(a,

      this,bb.words)},_doProcessBlock:function(a,b){this._mode.processBlock(a,b)},_doFinalize:function(){var a=this.cfg.padding;if(this._xformMode==this._ENC_XFORM_MODE){a.pad(this._data,this.blockSize);var b=this._process(!0)}else b=this._process(!0),a.unpad(b);return b},blockSize:4});var n=d.CipherParams=l.extend({init:function(a){this.mixIn(a)},toString:function(a){return(a||this.formatter).stringify(this)}}),b=(p.format={}).OpenSSL={stringify:function(a){var b=a.ciphertext;a=a.salt;return(a?s.create([1398893684,

      1701076831]).concat(a).concat(b):b).toString(r)},parse:function(a){a=r.parse(a);var b=a.words;if(1398893684==b[0]1701076831==b[1]){var c=s.create(b.slice(2,4));b.splice(0,4);a.sigBytes-=16}return n.create({ciphertext:a,salt:c})}},a=d.SerializableCipher=l.extend({cfg:l.extend({format:b}),encrypt:function(a,b,c,d){d=this.cfg.extend(d);var l=a.createEncryptor(c,d);b=l.finalize(b);l=l.cfg;return n.create({ciphertext:b,key:c,iv:l.iv,algorithm:a,mode:l.mode,padding:l.padding,blockSize:a.blockSize,formatter:d.format})},

      decrypt:function(a,b,c,d){d=this.cfg.extend(d);b=this._parse(b,d.format);return a.createDecryptor(c,d).finalize(b.ciphertext)},_parse:function(a,b){return"string"==typeof a?b.parse(a,this):a}}),p=(p.kdf={}).OpenSSL={execute:function(a,b,c,d){d||(d=s.random(8));a=w.create({keySize:b+c})點(diǎn)抗 pute(a,d);c=s.create(a.words.slice(b),4*c);a.sigBytes=4*b;return n.create({key:a,iv:c,salt:d})}},c=d.PasswordBasedCipher=a.extend({cfg:a.cfg.extend({kdf:p}),encrypt:function(b,c,d,l){l=this.cfg.extend(l);d=l.kdf.execute(d,

      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)}})}();

      (function(){for(var u=CryptoJS,p=u.lib.BlockCipher,d=u.algo,l=[],s=[],t=[],r=[],w=[],v=[],b=[],x=[],q=[],n=[],a=[],c=0;256c;c++)a[c]=128c?c1:c1^283;for(var e=0,j=0,c=0;256c;c++){var k=j^j1^j2^j3^j4,k=k8^k255^99;l[e]=k;s[k]=e;var z=a[e],F=a[z],G=a[F],y=257*a[k]^16843008*k;t[e]=y24|y8;r[e]=y16|y16;w[e]=y8|y24;v[e]=y;y=16843009*G^65537*F^257*z^16843008*e;b[k]=y24|y8;x[k]=y16|y16;q[k]=y8|y24;n[k]=y;e?(e=z^a[a[a[G^z]]],j^=a[a[j]]):e=j=1}var H=[0,1,2,4,8,

      16,32,64,128,27,54],d=d.AES=p.extend({_doReset:function(){for(var a=this._key,c=a.words,d=a.sigBytes/4,a=4*((this._nRounds=d+6)+1),e=this._keySchedule=[],j=0;ja;j++)if(jd)e[j]=c[j];else{var k=e[j-1];j%d?6d4==j%d(k=l[k24]24|l[k16255]16|l[k8255]8|l[k255]):(k=k8|k24,k=l[k24]24|l[k16255]16|l[k8255]8|l[k255],k^=H[j/d|0]24);e[j]=e[j-d]^k}c=this._invKeySchedule=[];for(d=0;da;d++)j=a-d,k=d%4?e[j]:e[j-4],c[d]=4d||4=j?k:b[l[k24]]^x[l[k16255]]^q[l[k

      8255]]^n[l[k255]]},encryptBlock:function(a,b){this._doCryptBlock(a,b,this._keySchedule,t,r,w,v,l)},decryptBlock:function(a,c){var d=a[c+1];a[c+1]=a[c+3];a[c+3]=d;this._doCryptBlock(a,c,this._invKeySchedule,b,x,q,n,s);d=a[c+1];a[c+1]=a[c+3];a[c+3]=d},_doCryptBlock:function(a,b,c,d,e,j,l,f){for(var m=this._nRounds,g=a[b]^c[0],h=a[b+1]^c[1],k=a[b+2]^c[2],n=a[b+3]^c[3],p=4,r=1;rm;r++)var q=d[g24]^e[h16255]^j[k8255]^l[n255]^c[p++],s=d[h24]^e[k16255]^j[n8255]^l[g255]^c[p++],t=

      d[k24]^e[n16255]^j[g8255]^l[h255]^c[p++],n=d[n24]^e[g16255]^j[h8255]^l[k255]^c[p++],g=q,h=s,k=t;q=(f[g24]24|f[h16255]16|f[k8255]8|f[n255])^c[p++];s=(f[h24]24|f[k16255]16|f[n8255]8|f[g255])^c[p++];t=(f[k24]24|f[n16255]16|f[g8255]8|f[h255])^c[p++];n=(f[n24]24|f[g16255]16|f[h8255]8|f[k255])^c[p++];a[b]=q;a[b+1]=s;a[b+2]=t;a[b+3]=n},keySize:8});u.AES=p._createHelper(d)})();

      pad-zeropadding.js

      /*

      CryptoJS v3.1.2

      code.google點(diǎn)抗 /p/crypto-js

      (c) 2009-2013 by Jeff Mott. All rights reserved.

      code.google點(diǎn)抗 /p/crypto-js/wiki/License

      */

      /**

      * Zero padding strategy.

      */

      CryptoJS.pad.ZeroPadding = {

      pad: function (data, blockSize) {

      ? ? // Shortcut

      ? ? var blockSizeBytes = blockSize * 4;?

      ? ? // Pad

      ? ? data.clamp();

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

      },?

      unpad: function (data) {

      ? ? // Shortcut

      ? ? var dataWords = data.words;?

      ? ? // Unpad

      ? ? var i = data.sigBytes - 1;

      ? ? while (!((dataWords[i 2] (24 - (i % 4) * 8)) 0xff)) {

      ? ? ? ? i--;

      ? ? }

      ? ? data.sigBytes = i + 1;

      }

      };?


      當(dāng)前名稱:jsphp數(shù)據(jù)加密 jsp如何設(shè)置密碼格式
      分享網(wǎng)址:http://ef60e0e.cn/article/ddeseps.html
      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区
      1. <ul id="0c1fb"></ul>

        <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
        <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

        福鼎市| 布尔津县| 涟源市| 庆元县| 九台市| 固始县| 麟游县| 潮安县| 分宜县| 汉中市| 涡阳县| 冀州市| 桑植县| 丰都县| 台中县| 淄博市| 金沙县| 中西区| 保定市| 绍兴市| 台前县| 上饶县| 邳州市| 介休市| 潮安县| 徐州市| 清新县| 垦利县| 合阳县| 景东| 双流县| 平昌县| 台州市| 水富县| 普定县| 茶陵县| 宁安市| 广水市| 垦利县| 镶黄旗| 广灵县|