url 암호 화 복호화, email 암호 화
6746 단어 JavaScriptPHP
<?php
function random($length, $numeric = 0)
{
//
mt_srand((double)microtime() * 1000000);
if($numeric){
$hash = sprintf('%0'.$length.'d', mt_rand(0, pow(10, $length) - 1));
}else{
$hash = '';
$chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz';
$max = strlen($chars) - 1;
for($i = 0; $i < $length; $i++){
$hash .= $chars[mt_rand(0, $max)];
}
}
return $hash;
}
function query_encode($sQuery)
{
//
if(strlen($sQuery)==0){
return '';
}else{
$s_tem = preg_replace("/&/i", '&', $sQuery);
$s_tem = preg_replace("/&/i", '&', $s_tem);
$a_tem = explode('&', $s_tem);
shuffle($a_tem);
$s_tem = implode('&', $a_tem);
$s_tem = random(3). $s_tem . random(3);
$s_tem = rawurlencode($s_tem);
$s_tem = base64_encode($s_tem);
$s_tem = strrev($s_tem);
return $s_tem;
}
}
function query_decode($sEncode)
{
//
if(strlen($sEncode)==0){
return '';
}else{
$s_tem = strrev($sEncode);
$s_tem = base64_decode($s_tem);
$s_tem = rawurldecode($s_tem);
$s_tem = substr($s_tem, 0, -3);
$s_tem = substr($s_tem, 3);
return $s_tem;
}
}
function rebuild_GET()
{
// $_GET
$_GET = array();
$s_query = $_SERVER['QUERY_STRING'];
if(strlen($s_query)==0){
return;
}else{
$s_tem = query_decode($s_query);
$a_tem = explode('&', $s_tem);
foreach($a_tem as $val){
$tem = explode('=', $val);
$_GET[$tem[0]] = $tem[1];
}
}
}
rebuild_GET();
echo 'GET:<pre>'.print_r($_GET, true).'</pre>';
function testGET(){
echo 'Function GET:<pre>'.print_r($_GET, true).'</pre>';
}
testGET();
?>
<br /><br /><br />
<?
for($i=1; $i<10; $i++){
$s_url = query_encode('ac=index:logo&class=45&id='.$i);
echo sprintf('<a href="?%s">TEST: %s</a><br />', $s_url, $s_url);
}
?>
암호 화 복호화 의 다른 방법:
<?
// Encript String
function encrypt($string) {
$key = 'tkdcks9796';
$result = '';
$string .= '---'.$key;
for($i=0; $i<strlen($string); $i++) {
$char = substr($string, $i, 1);
$keychar = substr($key, ($i % strlen($key))-1, 1);
$char = chr(ord($char)+ord($keychar));
$result.=$char;
}
return base64_encode($result);
}
// Decript String
function decrypt($string) {
$key = 'tkdcks9796';
$result = '';
$string = base64_decode($string);
for($i=0; $i<strlen($string); $i++) {
$char = substr($string, $i, 1);
$keychar = substr($key, ($i % strlen($key))-1, 1);
$char = chr(ord($char)-ord($keychar));
$result.=$char;
}
$tmp = explode('---',$result);
return $tmp[0];
}
echo encrypt('test'),'<br>',decrypt(encrypt('test'));
?>
혹은
function encrypt($data, $key)
{
$key = md5($key);
$x = 0;
$len = strlen($data);
$l = strlen($key);
for ($i = 0; $i < $len; $i++)
{
if ($x == $l)
{
$x = 0;
}
$char .= $key{$x};
$x++;
}
for ($i = 0; $i < $len; $i++)
{
$str .= chr(ord($data{$i}) + (ord($char{$i})) % 256);
}
return base64_encode($str);
}
function decrypt($data, $key)
{
$key = md5($key);
$x = 0;
$data = base64_decode($data);
$len = strlen($data);
$l = strlen($key);
for ($i = 0; $i < $len; $i++)
{
if ($x == $l)
{
$x = 0;
}
$char .= substr($key, $x, 1);
$x++;
}
for ($i = 0; $i < $len; $i++)
{
if (ord(substr($data, $i, 1)) < ord(substr($char, $i, 1)))
{
$str .= chr((ord(substr($data, $i, 1)) + 256) - ord(substr($char, $i, 1)));
}
else
{
$str .= chr(ord(substr($data, $i, 1)) - ord(substr($char, $i, 1)));
}
}
return $str;
}
$data = 'PHP '; //
$key = '123'; //
$encrypt = encrypt($data, $key);
$decrypt = decrypt($encrypt, $key);
echo $encrypt, "
", $decrypt;
메 일 주소 암호 화:
function encode_email($email='[email protected]', $linkText='Contact Us', $attrs ='class="emailencoder"' )
{
// remplazar aroba y puntos
$email = str_replace('@', '@', $email);
$email = str_replace('.', '.', $email);
$email = str_split($email, 5);
$linkText = str_replace('@', '@', $linkText);
$linkText = str_replace('.', '.', $linkText);
$linkText = str_split($linkText, 5);
$part1 = '<a href="ma';
$part2 = 'ilto:';
$part3 = '" '. $attrs .' >';
$part4 = '</a>';
$encoded = '<script type="text/javascript">';
$encoded .= "document.write('$part1');";
$encoded .= "document.write('$part2');";
foreach($email as $e)
{
$encoded .= "document.write('$e');";
}
$encoded .= "document.write('$part3');";
foreach($linkText as $l)
{
$encoded .= "document.write('$l');";
}
$encoded .= "document.write('$part4');";
$encoded .= '</script>';
return $encoded;
}
echo encode_email();
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
기초 정리 - 1문자 (String) 숫자 (Number) 불린 (Boolean) null undefined 심볼 (Symbol) 큰정수 (BigInt) 따옴표로 묶어 있어야 함 Not-A-Number - 숫자 데이터 / 숫자로 표...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.