<?php
/*
*功能:对字符串进行加密处理
*参数一:需要加密的内容
*参数二:密钥*/function passport_encrypt($str,$key){ //加密函数srand((double)microtime() * 1000000);$encrypt_key=md5(rand(0, 32000));$ctr=0;$tmp='';for($i=0;$i<strlen($str);$i++){$ctr=$ctr==strlen($encrypt_key)?0:$ctr;$tmp.=$encrypt_key[$ctr].($str[$i] ^ $encrypt_key[$ctr++]);}return base64_encode(passport_key($tmp,$key));
}/*
*功能:对字符串进行解密处理
*参数一:需要解密的密文
*参数二:密钥
*/
function passport_decrypt($str,$key){ //解密函数$str=passport_key(base64_decode($str),$key);$tmp='';for($i=0;$i<strlen($str);$i++){$md5=$str[$i];$tmp.=$str[++$i] ^ $md5;}return $tmp;
}/*
*辅助函数
*/
function passport_key($str,$encrypt_key){$encrypt_key=md5($encrypt_key);$ctr=0;$tmp='';for($i=0;$i<strlen($str);$i++){$ctr=$ctr==strlen($encrypt_key)?0:$ctr;$tmp.=$str[$i] ^ $encrypt_key[$ctr++];}return $tmp;
}$str='通达OA';
$key='123456';
$encrypt=passport_encrypt($str,$key);
$decrypt=passport_decrypt($encrypt,$key);echo '原文:',$str."<br><hr>";
echo '密文:',$encrypt."<br><hr>";
echo '译文:',$decrypt."<br><hr>";
?>

php md5加解密实例相关推荐

  1. SAP ABAP BASE64 MD5 加解密

    SAP ABAP BASE64 MD5 加解密的完整代码,开箱即用. abap base64 加解密 SAP EPIC 银企直连 616261702062617365363420E58AA0E8A7A ...

  2. java aes ctr_AES CBC和CTR加解密实例

    http://www.metsky.com/archives/585.html 2012 AES(Advanced Encryption Standard,高级加密标准) 又叫Rijndael加密法, ...

  3. 时间戳转换、BASE64和MD5加解密、秒表、图片进行BASE64转换离线使用小工具

    PortableTools使用说明文档 工具下载地址:PortableTools 一.时间戳转换 1.日期转换为时间戳 2.时间戳转换为日期 二.BASE64和MD5加解密 1.BASE64输入原文, ...

  4. nodejs php aes加密解密,nodejs aes 加解密实例

    如下所示: 'use strict'; const crypto = require('crypto'); /** * AES加密的配置 * 1.密钥 * 2.偏移向量 * 3.算法模式CBC * 4 ...

  5. java 消息签名_微信公众平台消息体签名及加解密实例(Java)

    前言: 最近在研究微信公众平台的开发,玩得不亦乐乎.基本的回复功能已经实现了,而且回复用到了图灵机器人的接口.其实图灵机器人已经有微信接口可以直接调用.如果项目的需要,想要做个性化需求的话,用这种方式 ...

  6. Java md5加解密汉字_Java加解密_MD5

    在Java中使用MD5摘要还是很方便的,直接上代码. 1 packagecom.cxc.nothing;2 3 importjava.nio.charset.Charset;4 importjava. ...

  7. python DES加解密实例(pyDes)

    1.安装pydes,pycharm:文件-设置-python解释器 2.pyDes使用 # pyDes.des(key,[mode],[IV],[pad],[padmode])# 加密密钥的字节.加密 ...

  8. 前后端java+vue 实现rsa 加解密与摘要签名算法

    RSA有两个密钥,一个是公开的,称为公开密钥:一个是私密的,称为私密密钥. 特点: 公开密钥是对大众公开的,私密密钥是服务器私有的,两者不能互推得出. 用公开密钥对数据进行加密,私密密钥可解密:私密密 ...

  9. [原创]c# 加解密通用类

    [原创]c# 加解密通用类 *模块功能:数据加解密算法  *模块说明:DESE.MD5 加解密算法 http://www.vjsdn.com/bbs/bbsTopicDetails.aspx?pid= ...

最新文章

  1. SSL之CA证书颁发机构安装图文详解
  2. switch的case使用数组C语言,使用常量数组的元素作为switch语句中的case
  3. java虚拟机内存分为,深入理解Java虚拟机笔记(一)----内存划分
  4. Web安全之文件包含漏洞
  5. 停止抱怨英语_停止抱怨垂直视频
  6. Tensorflow练习题
  7. 06002_Redis概述
  8. 分享几个Python小技巧函数里的4个小花招 1
  9. 无基础如何备考软考软件设计师?
  10. 灰色预测模型matlab预测20个数据,怎么matlab灰色模型预测这组数据的下一...
  11. 基于matlab的汉明码信道编码,信道编码仿真.doc
  12. 对计算机科学与技术专业课程的认识,计算机科学与技术专业课程
  13. 【高级渲染特性】抗锯齿技术介绍
  14. EOS与ESD的区别
  15. 对比企业邮箱,使用企业邮箱有哪些好处?
  16. 最简单日柱推算法_日柱的简单计算方法
  17. 过了技术面却在HR面被刷?必备40问!从容应对HR,斩获N多大厂offer!
  18. 性能调优之JMH必知必会1:什么是JMH
  19. @refreshscope注解
  20. 开开眼界 盖茨2013年的书单

热门文章

  1. DM常用查询SQL命令--系统信息篇
  2. 软件测试学习 之 Python 函数默认参数
  3. MySQL修改数据库编码
  4. 关于c3p0连接池使用xml配置出现的一些错误
  5. JavaScript对象数组归类处理
  6. flutter限制数字输入
  7. 机器学习及人工智能发展史
  8. 如何解决MathType无法正常使用问题
  9. oracle 字符集问题
  10. 原来,《心灵奇旅》竟是用VR制作的