class base64{
/**
* 加密字符串
* @access static
* @param string $data 字符串
* @param string $key 加密key
* @return string
*/
public static function encode($data,$key){
$key=md5($key);
$data=base64_encode($data);
$dataLength=strlen($data);
$keyLength=strlen($key);
for($i=0,$x=0;$i<$dataLength;$i++,$x++){
if($x==$keyLength){
$x=0;
}
$data_encode .= chr((ord($data{$i})+ord($key{$x}))%256);
}
return base64_encode($data_encode);
}
/**
* 解密字符串
* @access static
* @param string $data 字符串
* @param string $key 加密key
* @return string
*/
public static function decode($data,$key){
$key=md5($key);
$data=base64_decode($data);
$dataLength=strlen($data);
$keyLength=strlen($key);
for($i=0,$x=0;$i<$dataLength;$i++,$x++){
if($x==$keyLength){
$x=0;
}
$dataOrd=ord($data{$i});
$keyOrd=ord($key{$x});
if($dataOrd>=$keyOrd){
$data_decode .= chr($dataOrd-$keyOrd);
}else{
$data_decode .= chr($dataOrd+256-$keyOrd);
}
}
return base64_decode($data_decode);
} } $str=base64::encode('我的名字叫小明','123');
echo $str.'<br/>';
echo base64::decode($str,'123');

输出:  

分享一个php加密字符串类。的更多相关文章

  1. 分享一个MD5加密工具类

    来自:http://blog.csdn.net/zranye/article/details/8234480 Es:http://blog.csdn.net/longxibendi/article/d ...

  2. Android 分享一个SharedPreferences的工具类,方便保存数据

    我们平常保存一些数据,都会用到SharedPreferences,他是保存在手机里面的,具体路径是data/data/你的包名/shared_prefs/保存的文件名.xml, SharedPrefe ...

  3. 分享一个.NET加密工具NetEncryptor v2.1.6(破解版)

    在国外论坛闲逛,无意间看到一个.NET 加密工具.看了官网的介绍,感觉挺有意思,于是下载下来研(破)究(解)了一番. 官网地址:http://www.infralution.com/products/ ...

  4. 分享一个自定义的 console 类,让你不再纠结JS中的调试代码的兼容

    问题的产生 在写JS的过程中,为了调试我们常常会写很多 console.log.console.info.console.group.console.warn.console.error代码来查看JS ...

  5. PHP原生:分享一个轻量级的缓存类=>cache.php

    适用:原生PHP cache.php tips:代码最后有适用Demo哦. <?php /* * 缓存类 cache */ define("cacheRoot"," ...

  6. 我也分享一个c# ini操作类

    刚刚看了一篇 @云菲菲 的关于基于正则的INI辅助类文章:http://www.cnblogs.com/yunfeifei/p/4081977.html,作者写的不错.还看到评论处有一个的地址:htt ...

  7. 分享一个C#的分页类

    废话不说只有代码: using System.Linq; using System.Collections.Generic; namespace CommonLibrary { public clas ...

  8. 分享一个Web弹框类

    using System; using System.Text; namespace Core { /// <summary> /// MessageBox 的摘要说明. /// < ...

  9. 分享一个单例模型类Singleton代码

    相关代码: ;                foreach (string key in dict.Keys)                {                    if (cou ...

随机推荐

  1. 吴裕雄--天生自然python机器学习实战:K-NN算法约会网站好友喜好预测以及手写数字预测分类实验

    实验设备与软件环境 硬件环境:内存ddr3 4G及以上的x86架构主机一部 系统环境:windows 软件环境:Anaconda2(64位),python3.5,jupyter 内核版本:window ...

  2. 伪类:after,:before的用法

    :after和:before是css3中的伪类元素.用法是像元素的前或者后插入元素.以after为例: li:after{ content: ''; color: #ff0000; } 意思是向li元 ...

  3. Percona-Toolkit 之 pt-kill 用法

    生产环境中我们时常遇到这样的情况,数据库性能恶劣,需要马上杀掉部分会话,不然数据库就夯死.我们可以先找show processlist的输出来杀会话,但是比较麻烦.pt-kill为我们解决了杀会话问题 ...

  4. JDBC--获取数据库连接

    1.JDBC(Java Database Connectivity)是一个独立于特定数据库管理系统.统一的sQL数据库存取和操作的公共接口. 2.Java中的几种数据库存取技术: --1)JDBC直接 ...

  5. 使用 CAS 在 Tomcat 中实现单点登录 http://www.ibm.com/developerworks/cn/opensource/os-cn-cas/

    developerWorks 中国 技术主题 Open source 文档库 使用 CAS 在 Tomcat 中实现单点登录 单点登录(Single Sign On , 简称 SSO )是目前比较流行 ...

  6. CAS实现单点登录(SSO)经典完整教程

    转自 http://blog.csdn.net/small_love/article/details/6664831 一.简介 1.cas是有耶鲁大学研发的单点登录服务器 2.本教材所用环境 Tomc ...

  7. python编写banner获取的常用模块

    模块的概念:模块也叫库,每个模块中都内置了大量的功能和函数.类和变量.它就像是积木,可以根据需要进行调用组合.模块就是程序,每个模块就是一个后缀为.py的Python程序.Python的模块分为标准模 ...

  8. 热门提示输入之AutoCompleteTextView

    前言: 在我们百度时,经常会遇到在你输入一个内容后在你的输入框的下面会提示一些别的热门的东西,接下来我们来简单实现这种功能 正文: 直接上代码,和之前的东西都大同小异 下面是Java代码 public ...

  9. iOS 枚举ENUM和OPTIONS的区别

  10. vue 加载静态图片

    <img class="headImg" :src="require('../../assets/uploads/'+headImg)" alt=&quo ...