<?php
error_reporting(0);
header("content-Type: text/html; charset=utf-8");//输出编码/**功能:对字符串进行加密处理*参数一:需要加密的内容*参数二:密钥*/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;}$tps=$_GET["t"];if (empty($_POST["name"])) {$str="你要加密的内容";} else {$str=$_POST["name"];//'Q253252545Q'}if (empty($_POST["mimi"])) {$key = "q253252545q";} else {$key=$_POST["mimi"];}if ($tps!="Jie"){$rez=passport_encrypt($str,$key); //加密$tpt="Jie";$tpz="解";$tpx="加";}else{$rez=passport_decrypt($str,$key); //解密$tpt="Jia";$tpz="加";$tpx="解";}echo "<div style='border:1px solid #ccc;padding:18px;'>";echo " 原 文:{$str}<br>密 钥:{$key}<br>$tpx 密:{$rez}";echo "</div>";echo "<form action='?t=$tpt' method='post' style='border:1px solid #ccc;padding:18px;' >\r\n".
"<p>密钥:<input name='mimi' style='width:480px' value='$key'>\r\n</p>".
"<p>内容:<input name='name' style='width:480px' value='$rez'>\r\n</p>".
"<input type='submit' name='Submit' value=' $tpz 密 '>\r\n".
"</form>";
?>

encrypt decrypt 加密解密完整实例(密文可用密钥解密),可以用于加密通讯哦

encrypt decrypt 加密解密完整实例(密文可用密钥解密)相关推荐

  1. Linux C/C++ Openssl RSA Encrypt/Decrypt(加密/解密) 简单示例教程

    PEM文件有以下格式 1.PEM私钥文件格式 -----BEGIN RSA PRIVATE KEY----- -----END RSA PRIVATE KEY----- 生成该密钥的Linux命令 : ...

  2. AES与RSA混合加密完整实例

    前段时间看到一篇文章讲如何保证API调用时数据的安全性(传送门:https://blog.csdn.net/ityouknow/article/details/80603617),文中讲到利用RSA来 ...

  3. php解密方法,六种php加密解密方法实例讲解

    代码演示如下: 方法一 function encryptDecrypt($key, $string, $decrypt){ if($decrypt){ $decrypted = rtrim(mcryp ...

  4. php结合md5的加密解密,php结合md5的加密解密算法实例

    本文实例讲述了php结合md5的加密解密算法.分享给大家供大家参考,具体如下: /* * Created on 2016-9-30 * */ function encrypt($data, $key) ...

  5. python des解密_python实现DES加密解密方法实例详解

    本文实例讲述了python实现DES加密解密方法.分享给大家供大家参考.具体分析如下: 实现功能:加密中文等字符串 密钥与明文可以不等长 这里只贴代码,加密过程可以自己百度,此处python代码没有优 ...

  6. RSA 加密解密使用实例(c++实现)

    本文不讨论RSA加密解密本身,只记录使用方法及遇到的坑,RSA原理及注意事项可在网上查找. 背景:公司的一个需求,要求对接客户的一个平台,通信方式为MQTT,数据包含Token及json内容,在通信过 ...

  7. DES加密和解密工具(亲测可用)

    可以指定不同的密钥进行加密操作,增强加密性能.加密和解密代码如下: package com.ywx.test.security;   import java.security.Key; import ...

  8. jmeter 加密解密_犯罪大师入门篇密文答案 谜之解密入门篇密文解题详解_游戏资讯...

    第一关 犯罪大师入门篇密文答案是什么?犯罪大师谜之解密开启了新的入门篇解密,这次的解密分为四章,每章的内容涉及猪圈密码.埃特巴什密码和元音密码三个内容.因此对玩家来讲难度是很高的,那么具体的答案是什么 ...

  9. 异或加密的java算法_Java使用异或运算实现简单的加密解密算法实例代码

    Java简单的加密解密算法,使用异或运算 实例1: package cn.std.util; import java.nio.charset.Charset; public class DeEnCod ...

最新文章

  1. 初识java反射机制
  2. gVim 取消自动备份(Windows/Linux)
  3. 科大星云诗社动态20210509
  4. SpringBoot高级消-息-RabbitMQ基本概念简介
  5. Cocos2d-JS事件处理机制
  6. android 文本后图标_如何在Android中更改文本,图标等的大小
  7. layerconfirm 自动关闭问题 没有阻塞问题_微信新版本自动更新?赶紧关闭这个功能...
  8. pptx模块的安装与基本使用
  9. LLVM PHI - if else
  10. 搬砖的也能学Python----if - elif 语句
  11. GB/T 10595-2017版标准的错别字
  12. It seems that scikit-learn has not been built correctly.
  13. 不显示藏宝阁试穿服务器,梦幻西游:藏宝阁试穿功能的妙用,无限回档测试
  14. 关于win10企业版在极域电子教室软件 v4.0 2015 豪华版的全屏控制下如何取得自由...
  15. VS2008 安装时 出现 “加载安装组件时出现问题,取消安装” 的解决方法
  16. 人工智能导论学习笔记
  17. sRGB HDR概念性学习
  18. 如何看懂Elastic解决方案与Gartner的魔力象限
  19. 将一个接口响应时间从2s优化到 200ms以内的一个案例
  20. 基于STM32的DMX512开发笔记

热门文章

  1. STM32的完整启动流程分析
  2. 蓝桥杯c++B组练手(一)
  3. 无迹卡尔曼滤波(UKF)在单观测站目标跟踪中的应用
  4. 闫姐姐给上的人生一课
  5. 【图像去雾】Matlab实现9种去雾图像评价
  6. 计算机组装技术市场考察报告,计算机配件市场调查和电脑组装实践报告.doc
  7. 蒙特梭利三段卡---叶子
  8. 【fink】dataStreamAPI开发
  9. 用计算机把手机储存放大,嫌手机屏幕小?3图教你将手机画面放大(有线篇)...
  10. rabbitMQ实现订单超时未支付自动取消订单