Programming/PHP

[PHP] 문자열 암호화 복호화 구현

DOTI 2016. 3. 10. 18:19
[PHP] 문자열 암호화 복호화 구현
반응형
[PHP] 문자열 암호화 복호화 구현

암호화 : 문자열과 키값을 아스키코드로 변환하여 더하고 암호화 시켜 암호문을 만든다
복호화 : 암호문과 키값을 아스키코드로 변환하여 빼고 복호화 시켜 문자열로 되돌린다

복호화시 한글, 영문, 숫자가 깨지지 않는 장점이 있음


[기본소스]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?php
function encrypt($string$key) {
    $result = '';
    for($i=0$i<strlen($string); $i++) {
        $char = substr($string$i1);
        $keychar = substr($key, ($i % strlen($key))-11);
        $char = chr(ord($char)+ord($keychar));
        $result .= $char;
    }
    return base64_encode($result);
}
 
function decrypt($string$key) {
    $result = '';
    $string = base64_decode($string);
    for($i=0$i<strlen($string); $i++) {
        $char = substr($string$i1);
        $keychar = substr($key, ($i % strlen($key))-11);
        $char = chr(ord($char)-ord($keychar));
        $result .= $char;
    }
    return $result;
}
 
$encrypted = encrypt("PHP 문자열 암호화 복호화 구현""chitgoks");
$decrypted = decrypt("$encrypted""chitgoks");
 
echo "$encrypted<br>$decrypted";
?>
cs

encrypt 정의된 함수를 이용하여 PHP 문자열 암호화 복호화 구현 문자열과 chitgoks 키값을 아스키코드로 변환하여 더하고 암호화시키고 $encrypted 대입
문자열과 키값은 임의 값을 이용하여 암호화를 할 수 있으며, 복호화 시 암호화때 사용한 동일한 키값을 입력해야 복호화가 가능하다

[출력]
gG24scSHWhcrTwb5YP4ji1/4/FYMH1wEB4NTHClUByNg/PyJXhwbWAvndXM=
PHP 문자열 암호화 복호화 구현
cs

출처 : http://tech.chitgoks.com/2008/03/24/php-encrypt-decrypt-using-base64/


반응형