php 字符串加密与解密,在PHP中进行字符串加密和解密

解决此问题的一种简单方法是在加密之后和解密之前将密文转换为十六进制和从十六进制转换密文。

码:

$string = "10101111101";

$encrypted = encryptIt($string);

$decrypted = decryptIt($encrypted);

// Change \n to
for newline in web browser

echo $string."\n";

echo $encrypted."\n";

echo $decrypted."\n";

function encryptIt( $q ) {

$cryptKey = 'qJB0rGtIn5UB1xG03efyCp';

$qEncoded = base64_encode( mcrypt_encrypt( MCRYPT_RIJNDAEL_256, md5( $cryptKey ), $q, MCRYPT_MODE_CBC, md5( md5( $cryptKey ) ) ) );

$qEncoded = strToHex( $qEncoded );

return( $qEncoded );

}

function decryptIt( $q ) {

$q = hexToStr( $q );

$cryptKey = 'qJB0rGtIn5UB1xG03efyCp';

$qDecoded = rtrim( mcrypt_decrypt( MCRYPT_RIJNDAEL_256, md5( $cryptKey ), base64_decode( $q ), MCRYPT_MODE_CBC, md5( md5( $cryptKey ) ) ), "\0");

return( $qDecoded );

}

function strToHex($string) {

$hex = '';

for ($i=0; $i

$ord = ord($string[$i]);

$hexCode = dechex($ord);

$hex .= substr('0'.$hexCode, -2);

}

return strToUpper($hex);

}

function hexToStr($hex) {

$string='';

for ($i=0; $i < strlen($hex)-1; $i+=2){

$string .= chr(hexdec($hex[$i].$hex[$i+1]));

}

return $string;

}输出:

10101111101

62554A5951644A4B7552564C52396A69686A5A6F4A453539534850517A533573583331316D5372676C6B493D

10101111101

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值