2010-05-21 13 views
1

모든 길이의 문자열이나 파일을 암호화하고 길이가 고정 된 키를 반환하는 방법이 있습니까?암호화/암호 해독 시도

예 :

$str = 'Hello World!'; 
encrypt($str);//returns: "abc123"//a fixed length of characters. 
decrypt('abc123');//returns: "Hello World!"//the contents of the original string. 

는 PHP에

어떤 컴퓨터 언어 일 수 있습니다

내가 항상 말은 고정으로 한이

을 고정 것 같은 어떤 고정 된 숫자가 될 수 있습니다 동일 : 32 자, 64 자 또는 X 자.

나는 조금 연구를했으며 어렵거나 형편없는 것처럼 보였다. 하지만 당신은 내가 당신이 :) thnx

답변

1

예. 암호화하려는 문자 수의 상한선이 X 인 경우 가능합니다. 암호화 알고리즘을 사용하여 암호화 한 다음 결과를 X 자로 채 웁니다.

상한이 없다면 정보 이론의 이유로 불가능합니다 (일반적으로 불가능한 제한된 수의 [암호화 된 문자]로 제한없는 수의 문자를 저장해야합니다). 이유를 이해하려면 pigeonhole principle을 찾아보십시오.

+0

상한선은 흥미 롭습니다. 예를 들어 암호문 길이가 1e80 인 경우 현명한 입력을 모두 처리 할 수 ​​있어야합니다. 그것은 아주 느릴 것입니다, 그리고 나는 당신이 암호문을 어떻게 저장할 지 모르겠습니다. – Stewart

3

없음이없는 얻을하지 않습니다 물어 해달라고하면이

요청 worthed 될 줄 알았는데 절대 모릅니다. n 비트의 입력을 받아 32 문자의 출력을 되돌릴 수있는 함수를 작성하라는 요청입니다. 암호화 알고리즘을 사용하면 압축 기술을 판매하는 운이 좋을 것입니다. 단순히 32 문자의 입력을 무손실로 인코딩 할 수 있습니다.

+1

글쎄, 어떻게 생각하니 계속 잘못 생각하고 계속해서 수정하고 있다고 생각합니다. 너무 멀리주고 싶지는 않지만 '압축 기술을 판매하는 행운을 만들 수있는 알고리즘이 있다면'ur 대답은 내가 세부 사항을 설명 할 수없는 이유이며 그와 같은 것이 있는지 알고 싶다고 생각한다. :) thnx mate :) – Val

+0

그렇게하면 YouTube가 훨씬 더 빨라질 것입니다 ... – Thilo

+0

@Val - 정말 많이 볼 수 있기를 기대합니다. Shergar라고 부르시겠습니까? – Stewart