问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

php扩展用vc++写一个加密函数

发布网友 发布时间:2022-04-21 05:09

我来回答

2个回答

热心网友 时间:2022-04-14 10:33

php_mcrypt
是PHP本身的加密库
他里面已经有了DES等加密算法
下面的网址是PHP手册,你可以自己研究一下
http://cn.php.net/mcrypt

热心网友 时间:2022-04-14 11:51

单项加密比较容易。最简单的就是md5。还有mcrypt加密函数库。
base64不能算做加密,只能算是转码。因为别人可以直接用base64_decode得到原文。

mcrypt有双向加密揭秘的函数。但是,mcrypt扩展并不是每个服务器都会有的。
DISCUZ自带了一个双向加密函数,推荐使用:

<?php
#加密
$code = authcode("everalan", 'ENCODE');
#解密
$username = authcode($code, 'DECODE');

function authcode($string, $operation, $key = '') {

$auth_key = !empty($key) ? $key : '你自己定义的key';

$key = md5($auth_key);
$key_length = strlen($key);

$string = $operation == 'DECODE' ? base64_decode($string) : substr(md5($string.$key), 0, 8).$string;
$string_length = strlen($string);

$rndkey = $box = array();
$result = '';

for($i = 0; $i <= 255; $i++) {
$rndkey[$i] = ord($key[$i % $key_length]);
$box[$i] = $i;
}

for($j = $i = 0; $i < 256; $i++) {
$j = ($j + $box[$i] + $rndkey[$i]) % 256;
$tmp = $box[$i];
$box[$i] = $box[$j];
$box[$j] = $tmp;
}

for($a = $j = $i = 0; $i < $string_length; $i++) {
$a = ($a + 1) % 256;
$j = ($j + $box[$a]) % 256;
$tmp = $box[$a];
$box[$a] = $box[$j];
$box[$j] = $tmp;
$result .= chr(ord($string[$i]) ^ ($box[($box[$a] + $box[$j]) % 256]));
}

if($operation == 'DECODE') {
if(substr($result, 0, 8) == substr(md5(substr($result, 8).$key), 0, 8)) {
return substr($result, 8);
} else {
return '';
}
} else {
return str_replace('=', '', base64_encode($result));
}
}

可以肯定的是,你不需要用C++
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
武汉大学在职研究生考试科目有哪些 报考武汉大学在职研究生录取率高吗? 武汉大学mpa在职研究生好考吗 忘记车子买哪家保险 怎么查 67年的羊和什么生肖最配夫妻 67年的羊和69年鸡相配吗? 67年羊男与69年鸡女同是11月出生婚配如何? 67年9月和69年十月的结婚 “新菊亦侵篱”的出处是哪里 “闲绕篱头看菊花”的出处是哪里 请问快递单号是不是就是订单编号 运行php需要32位vc11或者vc14运行库怎么解决 寄快递的订单号是不是就是那个要填写单号的那个? 编译php扩展一定要用vc6吗? - PHP内核源码分析 运单号和订单号有何不同 php的vc6和vc9版本版本问题 请问快递的单号是订单编号还是运单号码? PHP版本VC6和VC9,Non Thread Safe和Thread Safe的区别 什么是订单号 使用VC++开发PHP扩展要注意哪些 啥是订单号 运行php需要32位vc11或者vc14的运行库该怎么解决? 快递单号和订单号是一样的吗 用VC++6.0可以编写PHP么? 美团入职返现6000 电脑格式化了怎么找回以前资料 电脑桌面上的东西不见了怎么恢复 如果电脑突然没反应,怎么办? 怎么恢复电脑里误删的资料 电脑重装系统后,怎么找回原有的软件和资料? 火车票订单号是什么 安装不了 Microsoft Visual C++ 2008 php5.6用visual c++ 什么版本 淘宝卖家要订单号不知道订单号是什么?哪位能具体说明一下吗? 简要说明PHP网页运行环境(哪几个软件)? 订单编号是什么意思啊?是不是运单号码? php版本选择问题.VC6和VC9的区别,TS和NTS如何选择 请问买买鞋的订单号是不是就是快递单号? PHP5.4版本问题为何没有VC6? 请问运单号是不是订单号?? windows7 32位一般可装php哪个版本 是vc6 还是vc9 淘宝订单号是不是快递单号? php有多少个内置函数 运单号是订单号吗 如何用php按钮实现超链接? 淘宝订单号是不是订单编号 php中&&和||的用法 这样用什么意思 PHP 5.4 版本问题 为何没有VC6 ? 短篇鬼故事50字内 恐怖短篇鬼故事100字左右