[차례]  [함수색인] Wel 도움말 문서 [이전]  [다음]
대분류: 내장함수
소분류: 암호화함수
decode() 작성일: 1999/12/26
수정일: 2002/07/05

1. 형식 형식1) result= decode(enstr) 형식2) result= decode(enstr, destr) 형식3) result= decode(enstr, destr, instr) 2. 기능: Wel의 encode()함수로 암호화한 암호문을 해독하여 원문을 얻는다. 형식2)와 형식3)에서 인자 destr은 복호화 키를 의미하며, 인자 instr은 간접 복호화 키를 의미하고 원문을 암호화 할 때 사용한 값과 같아야 한다. 3. 설명 (1) 모든 인자는 문자열이며 수치일 때에는 문자열로 변환된다. (2) 인자 enstr은 encode() 함수로 암호화된 암호문이어야 한다. (3) 인자 destr은 encode() 함수로 암호화할 때 사용한 복호화 키이다. (4) 형식1)은 복호화 키 없이 암호화 키로만 암호화 한것을 해독할 경우이다. (5) 형식2)와 형식3)은 복호화 키를 사용하여 암호화 한것을 해독할 경우이다. (6) 형식3)의 인자 instr은 간접 복호화 키를 의미하며 instr의 값을 변수로 하여 그 값을 복호화 키로 사용한다. 이것은 암호화 부분이나 복호화 부분이 있는 Wel 원시 프로그램이 노출이 될 경우에 복호화 키가 노출되기 때문에 보안상 복호화 키를 별도로 관리하려는 목적으로 사용한다. 간접 복호화 키의 변수 명(instr의 값)은 Wel 프로그램 또는 form의 변수명 작성 규칙을 무시할 수 있어 @pass와 같은 변수를 사용할 수 있다. 프로그램이나 form에서는 이와 같은 변수의 값을 반영할 수 없기 때문에 이러한 명칭을 사용하는 것이 보안 에 도움이 될 것이다. @pass와 같은 변수에 값을 대입하려면 listmerge() 함수를 form을 개방하지 않은 상태에서 실행하면 된다. ( 간접 복호화 키에 값을 대입하는 방법은 "/etc/wel.passwd"를 참고하면 된다 ) (7) 형식3)에서 destr과 instr의 값이 모두 있을 경우에 instr을 우선한다. (8) 인자 enstr이 해독된 원문 문자열이 result에 돌려진다. 4. 사용예 str1= encode("seoul", "an"); str2= decode(str1); printf(" 암호문: %-20s , 해독된 원문: %s\n", str1, str2); str1= encode("seoul", "k"); str2= decode(str1); printf(" 암호문: %-20s , 해독된 원문: %s\n", str1, str2); str1= encode("seoul", "an", "pusan"); str2= decode(str1, "pusan"); printf(" 암호문: %-20s , 해독된 원문: %s\n", str1, str2); ------------------------------ [ 출력결과 ] ------------------------------ 암호문: an6PeIHD.06FbYogf7w , 해독된 원문: seoul 암호문: kknOM7GbyNSsoe0iC , 해독된 원문: seoul 암호문: an0oLgDw9w08a1EE , 해독된 원문: seoul

Wel Version 1.0
[차례]  [함수색인] [이전]  [다음]