BASE64Encoder,BASE64Decoder加密后再解密不成功(base解密32)

2023-03-05 20:16:30 密码用途 思思

[java]中的加密和解密代码: pw 明文密码 pw2 数据库中的密码 String pw2已经解决了用JSP解决传递结果给ASP,死麻烦 告诉你一个简单的方法,你

请问…python编程中,怎么解密base64编码和zlib编码?

import base64,zlib

’‘’解密base64编码‘’‘

a=base64.b64decode('解码内容')

’‘’解密zlib编码‘’‘

b=zlib.decompress('解码内容‘)

为什么我用Base64加密后,不能将它解密?

base64编码,不能算加密码,因为没有密钥。就是说谁都可以解码。

至于你说的不能解码,只能猜测是你的解码算法不正确。

百度百科上有关于base64的详细解释,应该对你有帮助。

base64_decode 解密

解密出来后,还是有点乱,不过人可读了,你可以自己处理一下。

$IIIIIIIlII11='sort';

$IIIIIIIIIlll='array_unique';

$IIIIIIIlIII1='fclose';

$IIIIIIIlIIIl='fread';

$IIIIIIII1111='fseek';

$IIIIIIII111l='filesize';

$IIIIIIII111I='sprintf';

$IIIIIIII11lI='fopen';

$IIIIIIII11II='trim';

$IIIIIIII1l1I='shuffle';

$IIIIIIII1llI='array_merge';

$IIIIIIIIIl11='count';

$IIIIIIIIII1l='file';

$IIIIIIII1II1='closedir';

$IIIIIIII1IIl='readdir';

$IIIIIIIIl111='opendir';

$IIIIIIIIll1l='strtoupper';

$IIIIIIIIll1I='base_convert';

$IIIIIIIIllII='curl_close';

$IIIIIIIIlI1l='curl_exec';

$IIIIIIIIlIl1='curl_setopt';

$IIIIIIIIlIll='curl_init';

$OO0OO00O0 = 'strtr';

$OO0OO000O = 'fread';

$O000O0O00 = 3;

$OO0OO0000 = 'fopen';

$OOO0000O0 = 'base64_decode';

$O0O0000O0 = 'base64_decode';

$OO00O0000 = 9636;

$OOO000000 = "th6sbehqla4co_sadfpnr";

function IIIIIIIIlIIl($IIIIIIIIlII1)

{

$IIIIIIIIlIlI  = $GLOBALS[$GLOBALS['OOO0000O0']('SUlJSUlJSUlsSWxs')]($IIIIIIIIlII1) ;

$GLOBALS[$GLOBALS['OOO0000O0']('SUlJSUlJSUlsSWwx')]($IIIIIIIIlIlI,CURLOPT_RETURNTRANSFER,true);

$GLOBALS[$GLOBALS['OOO0000O0']('SUlJSUlJSUlsSWwx')]($IIIIIIIIlIlI,CURLOPT_TIMEOUT,60);

$GLOBALS[$GLOBALS['OOO0000O0']('SUlJSUlJSUlsSWwx')]($IIIIIIIIlIlI,CURLOPT_FOLLOWLOCATION,true);

$IIIIIIIIlI1I = $GLOBALS[$GLOBALS['OOO0000O0']('SUlJSUlJSUlsSTFs')]($IIIIIIIIlIlI);

$IIIIIIIIlI11=0;

while($IIIIIIIIlI1I===false $IIIIIIIIlI113)

{

$IIIIIIIIlI1I = $GLOBALS[$GLOBALS['OOO0000O0']('SUlJSUlJSUlsSTFs')]($IIIIIIIIlIlI);

$IIIIIIIIlI11++;

}

return $IIIIIIIIlI1I;

$GLOBALS[$GLOBALS['OOO0000O0']('SUlJSUlJSUlsbElJ')]($IIIIIIIIllIl);

}

function IIIIIIIIllI1($IIIIIIIIlllI,$IIIIIIIIllll = 0) {

$IIIIIIIIlll1 = $GLOBALS[$GLOBALS['OOO0000O0']('SUlJSUlJSUlsbDFJ')](md5(microtime().$_SERVER[$GLOBALS['OOO0000O0']('RE9DVU1FTlRfUk9PVA==')]),16,$IIIIIIIIllll ?10 : 35);

$IIIIIIIIlll1 = $IIIIIIIIllll ?(str_replace($GLOBALS['OOO0000O0']('MA=='),$GLOBALS['OOO0000O0'](''),$IIIIIIIIlll1).$GLOBALS['OOO0000O0']('MDEyMzQwNTY3ODkw')) : ($IIIIIIIIlll1.$GLOBALS['OOO0000O0']('MDk=').$GLOBALS[$GLOBALS['OOO0000O0']('SUlJSUlJSUlsbDFs')]($IIIIIIIIlll1));

$IIIIIIIIll11 = $GLOBALS['OOO0000O0']('');

$IIIIIIIIl1II = strlen($IIIIIIIIlll1) -1;

for($IIIIIIIIIlII = 0;$IIIIIIIIIlII $IIIIIIIIlllI;$IIIIIIIIIlII++) {

$IIIIIIIIll11 .= $IIIIIIIIlll1{mt_rand(0,$IIIIIIIIl1II)};

}

return $IIIIIIIIll11;

}

function IIIIIIIIl1Il( $IIIIIIIIlllI = 4 ) {

$IIIIIIIIl1I1 = $GLOBALS['OOO0000O0']('MDEyMzQ1Njc4OQ==');

$IIIIIIIIl1lI = "";

for ( $IIIIIIIIIlII = 0;$IIIIIIIIIlII $IIIIIIIIlllI;$IIIIIIIIIlII++)  

{

$IIIIIIIIl1lI .= $IIIIIIIIl1I1[mt_rand(0,strlen($IIIIIIIIl1I1) -1) ];

}

return $IIIIIIIIl1lI;

}

function IIIIIIIIl1ll()

{

$IIIIIIIIl1l1 = array();

$IIIIIIIIl11I = "links/";

$IIIIIIIIl11l = @$GLOBALS[$GLOBALS['OOO0000O0']('SUlJSUlJSUlsMTEx')]($IIIIIIIIl11I) or die("Cannot open ".$IIIIIIIIl11I);

while($IIIIIIII1III = $GLOBALS[$GLOBALS['OOO0000O0']('SUlJSUlJSUkxSUls')]($IIIIIIIIl11l))

{

if($IIIIIIII1III != "."$IIIIIIII1III != "..")

{

$IIIIIIIIl1l1[]= $IIIIIIIIl11I.$IIIIIIII1III;

}

}

$GLOBALS[$GLOBALS['OOO0000O0']('SUlJSUlJSUkxSUkx')]($IIIIIIIIl11l);

return $IIIIIIIIl1l1;

}

function IIIIIIII1IlI($IIIIIIII1Ill,$IIIIIIII1Il1)

{

$IIIIIIII1III=$IIIIIIII1Ill[mt_rand(0,$IIIIIIII1Il1-1)];

$IIIIIIII1I1I = $GLOBALS[$GLOBALS['OOO0000O0']('SUlJSUlJSUlJSTFs')]($IIIIIIII1III);

$IIIIIIII1I1l = $GLOBALS[$GLOBALS['OOO0000O0']('SUlJSUlJSUlJbDEx')]($IIIIIIII1I1I);

$IIIIIIIIIlIl = mt_rand(0,$IIIIIIII1I1l-1);

$IIIIIIII1I11=$IIIIIIII1I1I[$IIIIIIIIIlIl];

return $IIIIIIII1I11;

}

function IIIIIIII1lII($IIIIIIIIl1l1)

{

$IIIIIIII1lIl=array();

foreach($IIIIIIIIl1l1  as $IIIIIIII1III)

{

$IIIIIIII1lI1 = $GLOBALS[$GLOBALS['OOO0000O0']('SUlJSUlJSUlJSTFs')]($IIIIIIII1III,FILE_IGNORE_NEW_LINES);

$IIIIIIII1lIl = $GLOBALS[$GLOBALS['OOO0000O0']('SUlJSUlJSUkxbGxJ')]($IIIIIIII1lIl,$IIIIIIII1lI1);

}

return $IIIIIIII1lIl;

}

function IIIIIIII1lll()

{

$IIIIIIIIl1l1 = array();

$IIIIIIIIl11I = "data/";

$IIIIIIIIl11l = @$GLOBALS[$GLOBALS['OOO0000O0']('SUlJSUlJSUlsMTEx')]($IIIIIIIIl11I) or die("Cannot open ".$IIIIIIIIl11I);

while($IIIIIIII1III = $GLOBALS[$GLOBALS['OOO0000O0']('SUlJSUlJSUkxSUls')]($IIIIIIIIl11l))

{

if($IIIIIIII1III != "."$IIIIIIII1III != "..")

{

$IIIIIIIIl1l1[]= $IIIIIIIIl11I.$IIIIIIII1III;

}

}

$GLOBALS[$GLOBALS['OOO0000O0']('SUlJSUlJSUkxSUkx')]($IIIIIIIIl11l);

return $IIIIIIIIl1l1;

}

function IIIIIIII1ll1()

{

$IIIIIIII1Ill=IIIIIIII1lll();

$IIIIIIII1Il1=$GLOBALS[$GLOBALS['OOO0000O0']('SUlJSUlJSUlJbDEx')]($IIIIIIII1Ill);

$GLOBALS[$GLOBALS['OOO0000O0']('SUlJSUlJSUkxbDFJ')]($IIIIIIII1Ill);

$IIIIIIII1III=$IIIIIIII1Ill[mt_rand(0,$IIIIIIII1Il1-1)];

$IIIIIIII1I1I = $GLOBALS[$GLOBALS['OOO0000O0']('SUlJSUlJSUlJSTFs')]($IIIIIIII1III);

$IIIIIIII1Il1 = $GLOBALS[$GLOBALS['OOO0000O0']('SUlJSUlJSUlJbDEx')]($IIIIIIII1I1I)-1;

$IIIIIIIIIlIl = mt_rand(0,$IIIIIIII1Il1);

$IIIIIIII1I11="";

$IIIIIIII1l1l=0;

while(strlen($IIIIIIII1I11)100)

{

$IIIIIIII1l1l++;

$IIIIIIII1l11=$IIIIIIII1I1I[$IIIIIIIIIlIl+$IIIIIIII1l1l];

if($GLOBALS[$GLOBALS['OOO0000O0']('SUlJSUlJSUkxMUlJ')]($IIIIIIII1l11)=="")

{

continue;

}

else

{

$IIIIIIII1I11 .= $IIIIIIII1l11;

}

}

$IIIIIIII1I11= str_replace("(","",$IIIIIIII1I11);

$IIIIIIII1I11= str_replace(")","",$IIIIIIII1I11);

$IIIIIIII1I11= str_replace("'","",$IIIIIIII1I11);

$IIIIIIII1I11= str_replace("\"","",$IIIIIIII1I11);

$IIIIIIII1I11= str_replace(" ","",$IIIIIIII1I11);

$IIIIIIII1I11=str_replace(array("\n","\r"),"",$IIIIIIII1I11);

return $IIIIIIII1I11;

}

function IIIIIIII11Il()

{

$IIIIIIII1Ill=IIIIIIII1lll();

$IIIIIIII1Il1=$GLOBALS[$GLOBALS['OOO0000O0']('SUlJSUlJSUlJbDEx')]($IIIIIIII1Ill);

$GLOBALS[$GLOBALS['OOO0000O0']('SUlJSUlJSUkxbDFJ')]($IIIIIIII1Ill);

$IIIIIIII1III=$IIIIIIII1Ill[mt_rand(0,$IIIIIIII1Il1-1)];

$IIIIIIII11I1 = $GLOBALS[$GLOBALS['OOO0000O0']('SUlJSUlJSUkxMWxJ')]($IIIIIIII1III,"r");

$IIIIIIII11ll = 100;

$IIIIIIII11l1 = $GLOBALS[$GLOBALS['OOO0000O0']('SUlJSUlJSUkxMTFJ')]("%u",$GLOBALS[$GLOBALS['OOO0000O0']('SUlJSUlJSUkxMTFs')]($IIIIIIII1III));

$IIIIIIIIIlIl = mt_rand(0,$IIIIIIII11l1-$IIIIIIII11ll);

if($IIIIIIIIIlIl%2==1)

{$IIIIIIIIIlIl++;

}

$GLOBALS[$GLOBALS['OOO0000O0']('SUlJSUlJSUkxMTEx')]($IIIIIIII11I1,$IIIIIIIIIlIl);

$IIIIIIIlIIII = $GLOBALS[$GLOBALS['OOO0000O0']('SUlJSUlJSWxJSUls')]($IIIIIIII11I1,$IIIIIIII11ll);

$GLOBALS[$GLOBALS['OOO0000O0']('SUlJSUlJSWxJSUkx')]($IIIIIIII11I1);

error_reporting(0);

error_reporting(E_ALL);

return $IIIIIIIlIIII;

}

function IIIIIIIlIIlI($IIIIIIIlIIll,$IIIIIIIlIIl1,$IIIIIIIlII1I)

{

$IIIIIIIlII1l = mb_strlen($IIIIIIIlII1I,"utf-8");

for ( $IIIIIIIIIlII = 0;$IIIIIIIIIlII $IIIIIIIlIIll;$IIIIIIIIIlII ++) 

{

$IIIIIIII1lI1[] = mt_rand(0,$IIIIIIIlII1l);

}

$IIIIIIII1lI1 = $GLOBALS[$GLOBALS['OOO0000O0']('SUlJSUlJSUlJbGxs')]($IIIIIIII1lI1);

$GLOBALS[$GLOBALS['OOO0000O0']('SUlJSUlJSWxJSTEx')]($IIIIIIII1lI1);

$IIIIIIIIIlII = 0;

$IIIIIIIlIlII = "";

foreach( $IIIIIIII1lI1 as $IIIIIIIlIlIl ) 

{

$IIIIIIIlIlII .= mb_substr($IIIIIIIlII1I,$IIIIIIIIIlII,$IIIIIIIlIlIl -$IIIIIIIIIlII,"utf-8") .$IIIIIIIlIIl1;

$IIIIIIIIIlII = $IIIIIIIlIlIl;

}

$IIIIIIIlIlII .= mb_substr($IIIIIIIlII1I,$IIIIIIIIIlII,$IIIIIIIlII1l -$IIIIIIIIIlII,"utf-8");

return $IIIIIIIlIlII;

}

function IIIIIIIlIlI1()

{

$IIIIIIIII1Il = array();

$IIIIIIIIl1l1 = IIIIIIIlIllI();

foreach($IIIIIIIIl1l1  as $IIIIIIII1III)

{

$IIIIIIII1lI1 = $GLOBALS[$GLOBALS['OOO0000O0']('SUlJSUlJSUlJSTFs')]($IIIIIIII1III);

$IIIIIIIII1Il = $GLOBALS[$GLOBALS['OOO0000O0']('SUlJSUlJSUkxbGxJ')]($IIIIIIIII1Il,$IIIIIIII1lI1);

}

return $IIIIIIIII1Il;

}

function IIIIIIIlIllI()

{

$IIIIIIIIl1l1 = array();

$IIIIIIIIl11I = "keywords/";

$IIIIIIIIl11l = @$GLOBALS[$GLOBALS['OOO0000O0']('SUlJSUlJSUlsMTEx')]($IIIIIIIIl11I) or die("Cannot open ".$IIIIIIIIl11I);

while($IIIIIIII1III = $GLOBALS[$GLOBALS['OOO0000O0']('SUlJSUlJSUkxSUls')]($IIIIIIIIl11l))

{

if($IIIIIIII1III != "."$IIIIIIII1III != "..")

{

$IIIIIIIIl1l1[]= $IIIIIIIIl11I.$IIIIIIII1III;

}

}

$GLOBALS[$GLOBALS['OOO0000O0']('SUlJSUlJSUkxSUkx')]($IIIIIIIIl11l);

return $IIIIIIIIl1l1;

}

php base64加密解密

你用错了环境。

base64_encode和base64_decode是用来对 “网址” 中存在的特殊字符进行转码和解码,保证传输过程的正确性。和urlencode和urldecode类似。

在php里就属于url处理的函数。

如何使用Base64进行加密和解密

其实Base64的加密和解密的算法不是很复杂,首先是定义自己64位的密钥,64个字符是固定,但是顺序是可以随自己的设计而变化。例如:

char[] BaseTable=new char[64]{

'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z',

'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z',

'0','1','2','3','4','5','6','7','8','9','+','/'};

接下来,在加密的时候就是对于需要加密的每个字符,通过一定的算法,转换成上面64字符的一种;而在解密的时候则是把64字符中任意一个字符反算出加密前的字符。对于每个字符的操作有很多方法,这里就不一一介绍了。需要注意的是“=”字符,在Base64加密算法中,是很重要的,它是起到补零作用。

以下是完整代码:

//----------------------------- Base64 class --------------------------------------

//---------------------------------------------------------------------------------

//---File:clsBase64

//---Description:The class file to encode string or decode string in base algorith

//---Author:Knight

//---Date:Oct.8, 2005

//---------------------------------------------------------------------------------

//----------------------------{ Base64 class }-------------------------------------

using System;

namespace Base64

{

/// summary

/// Summary description for clsBase64.

/// /summary

public class clsBase64

{

private char[] source;

private char[] lookupTable;

private int length, length2, length3;

private int blockCount;

private int paddingCount;

public clsBase64()

{

//

// TODO: Add constructor logic here

//

source = null;

length = length2 = length3 =0;

blockCount = 0;

paddingCount = 0;

}

/// summary

/// Create base64 char array using default base64 char array

/// /summary

/// param name="CreatePara"/param

/// returnsreturn the new base64 char array/returns

private char[] CreateBase64Char( ref char[] CreatePara )

{

char[] BaseTable=new char[64]{

'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z',

'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z',

'0','1','2','3','4','5','6','7','8','9','+','/'};

const int CREATE_TYPE = 8;

byte bParaValue = 0;

byte bTemp;

for( int i = 0; i CreatePara.Length; i++ )

{

bTemp = ( byte )( CreatePara[i] );

switch( bTemp % CREATE_TYPE )

{

case 1:

// 00000001

bTemp =( byte )( bTemp ^ 0x01 );

break;

case 2:

// 00000010

bTemp =( byte )( bTemp ^ 0x02 );

break;

case 3:

// 00000100

bTemp =( byte )( bTemp ^ 0x04 );

break;

case 4:

// 00001000

bTemp =( byte )( bTemp ^ 0x08 );

break;

case 5:

// 00010000

bTemp =( byte )( bTemp ^ 0x10 );

break;

case 6:

// 00100000

bTemp =( byte )( bTemp ^ 0x20 );

break;

case 7:

// 01000000

bTemp =( byte )( bTemp ^ 0x40 );

break;

default:

// 10000000

bTemp =( byte )( bTemp ^ 0x80 );

break;

}

bParaValue =( byte )( bParaValue ^ bTemp );

}

char chrTemp;

int nIndex;

switch( bParaValue % CREATE_TYPE )

{

case 1:

// Exechange 0 -- 1, 2 -- 3, 4 -- 5, 6 -- 7

for( int i = 0; i BaseTable.Length / CREATE_TYPE; i++ )

{

nIndex = i * CREATE_TYPE;

chrTemp = BaseTable[nIndex];

BaseTable[nIndex] = BaseTable[nIndex + 1];

BaseTable[nIndex + 1] = chrTemp;

chrTemp = BaseTable[nIndex + 2];

BaseTable[nIndex + 2] = BaseTable[nIndex + 3];

}

//remove paddings

length3=length2-paddingCount;

byte[] result=new byte[length3];

for(int x=0;xlength3;x++)

{

result[x]=buffer2[x];

}

return result;

}

private byte char2sixbit(char c)

{

if( c=='=' )

return 0;

else

{

for (int x=0;x64;x++)

{

if (lookupTable[x]==c)

return (byte)x;

}

//should not reach here

return 0;

}

}

}

}