>  기사  >  백엔드 개발  >  PHP 사용자 정의 암호화 및 복호화 프로그램 example_php 기술

PHP 사용자 정의 암호화 및 복호화 프로그램 example_php 기술

WBOY
WBOY원래의
2016-05-16 20:26:37925검색

이 기사의 예에서는 PHP 사용자 정의 암호화 및 암호 해독 프로그램을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 구체적인 분석은 다음과 같습니다.

PHP3 암호화는 매우 쉽게 깨지는 안전하지 않은 암호화 기능이므로 매우 중요한 용도로는 사용하면 안 됩니다. 암호화는 훌륭하지만 최첨단 크래킹 프로그램의 엄격한 테스트를 방해하지는 않습니다.

시도해 보세요... 문자열을 암호화하고 해독하는 좋은 방법입니다. 많은 암호화 기능과 마찬가지로 이는 양방향으로 진행됩니다. 비밀번호를 기반으로 암호화하거나 복호화할 수 있습니다. 루핑이나 기타 방법을 통해 무제한으로 암호를 해독하거나 암호화할 수도 있습니다. 알파벳의 문자도 변경됩니다. 이러한 모든 기능을 통해 암호화를 수정하고 강화할 수 있습니다.

이것의 가장 좋은 점은 무엇인가요? 암호 해독이나 종이와 연필을 사용하여 암호화할 수 있습니다. 이 작업은 시간이 꽤 오래 걸리지만 사용하기 위해 근처에 컴퓨터가 필요하지 않으며 코드를 분실한 경우 기술을 기억하면 암호를 해독할 수 있습니다.

여러 번 실패하고 실망스러운 시도 끝에 이 함수를 약 한 시간 만에 작성했고 훨씬 더 오랫동안 빠져나갈 방법이 없었습니다. 성공적인 하루를 보낸 후 이를 수행하는 가장 좋은 방법은 갑자기 그것을 깨닫는 것입니다.

줄 바꿈(n)이나 탭(t)과 같은 보이지 않는 문자(공백)는 암호화/복호화되지 않는다는 점에 유의하세요! 죄송합니다. 노력하고 있습니다. 방법을 찾으면 알려주세요!

코드 복사 코드는 다음과 같습니다.
$ralphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890 !,.:;?~@#$%^&*()_ -=][}{/><"'"; 
$alphabet = $ralphabet . $ralphabet;
 
클래스 암호화 {
 
함수 암호화($password,$strtoencrypt) {
 
글로벌 $ralphabet; 
전역 $알파벳;
 
for( $i=0; $i
$cur_pswd_ltr = substr($password,$i,1); 
$pos_alpha_ary[] = substr(strstr($alphabet,$cur_pswd_ltr),0,strlen($ralphabet)); 
}
 
$i=0; 
$n = 0; 
$nn = strlen($password); 
$c = strlen($strtoencrypt);
 
동안($i<$c) 

$encrypted_string .= substr($pos_alpha_ary[$n],strpos($ralphabet,substr($strtoencrypt,$i,1)),1);
 
$n ; 
if($n==$nn) $n = 0; 
$ 나는 ; 
}
 
$encrypted_string을 반환합니다.
 
}
 
함수 해독($password,$strtodecrypt) {
 
글로벌 $ralphabet; 
전역 $알파벳;
 
for( $i=0; $i
$cur_pswd_ltr = substr($password,$i,1); 
$pos_alpha_ary[] = substr(strstr($alphabet,$cur_pswd_ltr),0,strlen($ralphabet)); 
}
 
$i=0; 
$n = 0; 
$nn = strlen($password); 
$c = strlen($strtodecrypt);
 
동안($i<$c) 

$decrypted_string .= substr($ralphabet,strpos($pos_alpha_ary[$n],substr($strtodecrypt,$i,1)),1);
 
$n ; 
if($n==$nn) $n = 0; 
$ 나는 ; 
}
 
$decrypted_string을 반환합니다.
 
}
 
함수 cryption_table ($password) {
 
글로벌 $ralphabet; 
전역 $알파벳;
 
for( $i=0; $i
$cur_pswd_ltr = substr($password,$i,1); 
$pos_alpha_ary[] = substr(strstr($alphabet,$cur_pswd_ltr),0,strlen($ralphabet)); 
}
 
"n"을 인쇄합니다.
 
""를 인쇄합니다. 
for( $j=0; $j
인쇄 "
n"; 

""를 인쇄합니다.
 
 
for( $i=0; $i
"
"; 
for( $k=0; $k
인쇄 "
n"; 

""를 인쇄합니다. 
}
 
"
" . substr($ralphabet,$j,1) . "
"를 인쇄하세요. . ($i 1) . "|" . substr($pos_alpha_ary[$i],$k,1) . "
n"을 인쇄합니다.
 
}
 
} // 암호화 클래스 종료
 
// Macro Zeng이 작성한 예 
$ct = 새로운 암호화폐; 
//$ct->cryption_table($password); 
echo "
"; 
if ($mod == 2) { 
$strtodecrypt = $ct->암호화($password,$strtoencrypt); 
echo '암호화된 문자열(加密后的字段): '; 
echo "<입력 유형=텍스트 이름=strtodecrypt 크기=45 값=$strtodecrypt>"; 
echo "密码锁: <입력 유형=텍스트 이름=비밀번호 크기=6 값=$password>"; 
echo ""; 

그렇지 않으면 { 
$strtoencrypt = $ct->decrypt ($password,$strtodecrypt); 
echo '암호화할 문자열(需要加密的字段): '; 
echo "<입력 유형=텍스트 이름=strtoencrypt 크기=45 값=$strtoencrypt>"; 
echo "密码锁: <입력 유형=텍스트 이름=비밀번호 크기=6 값=$password>"; 
echo "<입력 유형=제출 값="암호화(加密)">"; 
echo "<입력 유형=숨겨진 이름=모드 값=2>"; 

echo "
";

复主代码 代码如下:

하이라이트_파일("crypto.php")

이 기사가 모든 사람의 PHP 프로그래밍 설계에 도움이 되기를 바랍니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.