encrypt decrypt 加密解密完整实例(密文可用密钥解密)
<?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 加密解密完整实例(密文可用密钥解密)相关推荐
- Linux C/C++ Openssl RSA Encrypt/Decrypt(加密/解密) 简单示例教程
PEM文件有以下格式 1.PEM私钥文件格式 -----BEGIN RSA PRIVATE KEY----- -----END RSA PRIVATE KEY----- 生成该密钥的Linux命令 : ...
- AES与RSA混合加密完整实例
前段时间看到一篇文章讲如何保证API调用时数据的安全性(传送门:https://blog.csdn.net/ityouknow/article/details/80603617),文中讲到利用RSA来 ...
- php解密方法,六种php加密解密方法实例讲解
代码演示如下: 方法一 function encryptDecrypt($key, $string, $decrypt){ if($decrypt){ $decrypted = rtrim(mcryp ...
- php结合md5的加密解密,php结合md5的加密解密算法实例
本文实例讲述了php结合md5的加密解密算法.分享给大家供大家参考,具体如下: /* * Created on 2016-9-30 * */ function encrypt($data, $key) ...
- python des解密_python实现DES加密解密方法实例详解
本文实例讲述了python实现DES加密解密方法.分享给大家供大家参考.具体分析如下: 实现功能:加密中文等字符串 密钥与明文可以不等长 这里只贴代码,加密过程可以自己百度,此处python代码没有优 ...
- RSA 加密解密使用实例(c++实现)
本文不讨论RSA加密解密本身,只记录使用方法及遇到的坑,RSA原理及注意事项可在网上查找. 背景:公司的一个需求,要求对接客户的一个平台,通信方式为MQTT,数据包含Token及json内容,在通信过 ...
- DES加密和解密工具(亲测可用)
可以指定不同的密钥进行加密操作,增强加密性能.加密和解密代码如下: package com.ywx.test.security; import java.security.Key; import ...
- jmeter 加密解密_犯罪大师入门篇密文答案 谜之解密入门篇密文解题详解_游戏资讯...
第一关 犯罪大师入门篇密文答案是什么?犯罪大师谜之解密开启了新的入门篇解密,这次的解密分为四章,每章的内容涉及猪圈密码.埃特巴什密码和元音密码三个内容.因此对玩家来讲难度是很高的,那么具体的答案是什么 ...
- 异或加密的java算法_Java使用异或运算实现简单的加密解密算法实例代码
Java简单的加密解密算法,使用异或运算 实例1: package cn.std.util; import java.nio.charset.Charset; public class DeEnCod ...
最新文章
- 初识java反射机制
- gVim 取消自动备份(Windows/Linux)
- 科大星云诗社动态20210509
- SpringBoot高级消-息-RabbitMQ基本概念简介
- Cocos2d-JS事件处理机制
- android 文本后图标_如何在Android中更改文本,图标等的大小
- layerconfirm 自动关闭问题 没有阻塞问题_微信新版本自动更新?赶紧关闭这个功能...
- pptx模块的安装与基本使用
- LLVM PHI - if else
- 搬砖的也能学Python----if - elif 语句
- GB/T 10595-2017版标准的错别字
- It seems that scikit-learn has not been built correctly.
- 不显示藏宝阁试穿服务器,梦幻西游:藏宝阁试穿功能的妙用,无限回档测试
- 关于win10企业版在极域电子教室软件 v4.0 2015 豪华版的全屏控制下如何取得自由...
- VS2008 安装时 出现 “加载安装组件时出现问题,取消安装” 的解决方法
- 人工智能导论学习笔记
- sRGB HDR概念性学习
- 如何看懂Elastic解决方案与Gartner的魔力象限
- 将一个接口响应时间从2s优化到 200ms以内的一个案例
- 基于STM32的DMX512开发笔记