关于注入字段问题sql安全
php吧
全部回复
仅看楼主
level 6
云豆思 楼主
从字段上来说 为了安全可以把提交的任何数据加密为数字 储存在数据库取出在解密输出可以完美处理安全问题。简单的构思
<?
function add_text($add_text,$key)//加密
{
$n = strlen($key); //取密钥长度
for($i=0;$n>$i;$i++){//循环
$add_int =$add_int+ ord(substr($key,$i,1));//取单次密钥ASCII累加
}
$add_int=$add_int+1256;//让密钥整数长度大于4位 大过于4位就不会出错了
$n = strlen($add_text);//获取明文长度
for($i=0;$n>$i;$i++)//循环
{
$ret .= $add_int + ord(substr($add_text,$n-$i-1,1));//将明文转ASCII 与key相加 从高位取 循序颠倒
}
return $ret;
}
function sub_text($add_text,$key)//解密
{
$n=strlen($key);//取密钥长度
for($i=0;$n>$i;$i++)//循环
{
$add_int =$add_int+ ord(substr($key,$i,1));//取ASCII
}
$add_int= $add_int + 1256;//让密钥长度大于4位
$n= strlen($add_int);//取密钥长度
$num=strlen($add_text);//取密文长度
for($i=0;$num>$i;$i+=4)//循环
{
$_row = chr(substr($add_text,$i,$n)-$add_int) .$_row;//顺序跟加密方式有关系 取密文 长度减去key 得到明文字符串 累加 最终输出
}
return $_row;
}
?>
用这2个函数可以轻松使用网站!!当然效率上什么的。自己改进 起到举一反三的效果。
大神也可以喷我!
2014年05月09日 04点05分 1
level 6
云豆思 楼主
这个会生成很长很长的数字。也可以无限嵌套。 如果想动态加密 非固定的话可以加个小技巧。在生成时 存入一个时间戳 任意插入 循环中第几位!
2014年05月09日 04点05分 2
level 12
用dz的加密函数不更好
2014年05月09日 04点05分 3
level 9
没必要
2014年05月09日 15点05分 4
1