이 키 암호를 구현
골
알고리즘 (알고리즘 섹션에서 설명)을 사용하여 특정 암호를 구현하십시오.
프로그램은 STDIN 또는 가장 가까운 해당 항목의 입력을 읽고 알고리즘을 사용하여 암호문 및 키를 생성해야합니다.
암호문과 키는 STDOUT 또는 가장 가까운 해당 항목에 기록됩니다. 암호문과 키를 출력하는 한 모든 형식이 허용됩니다.
연산
문자열의 문자를 해당 ASCII 값으로 변환하십시오. 예를 들면 다음과 같습니다.
Hello -> 72 101 108 108 111
다음으로, 0-9 범위의 난수를 갖는 문자열이있는 한 키를 생성해야합니다.
Hello -> 62841
난수 시퀀스의 정수를 문자열의 ASCII 값에 추가하십시오. 위의 예에서 72는 78이되고 101은 104가됩니다.
72 + 6 = 78, 101 + 2 = 103, 108 + 8 = 116, etc
그런 다음 새 값을 문자로 다시 변환하십시오. 위의 예에서 텍스트 Hello
는 Ngtpp
입니다.
예
(이 단순히 출력은 무엇의 예 수 처럼 보인다. 출력은과 다를 수 있습니다.)
Hello World
Lfrlu)_supg
41606984343
This will be encoded
Zhjs$~koo gj$iuhofgj
60104723305544750226
규칙
- 입력에 az, AZ 및 공백 범위의 문자 만 포함한다고 가정 할 수 있습니다.
- 제출물은 전체 프로그램 또는 기능이어야합니다.
- 제출물은 바이트 단위로 점수가 매겨집니다.
- 표준 허점 은 금지되어 있습니다.
- 이것은 코드 골프이므로 가장 짧은 코드가 승리합니다.
(이것은 내 첫 번째 도전 중 하나입니다. 문제가 있으면 개선 방법을 알려주십시오.)
preferably with the format (ciphertext)\n(key).
"선호하는 기능"과 코드 골프는 잘 섞이지 않는다고했습니다. 필수 또는 다른 출력 형식을 허용해야합니다. 3. 공백없이 키를 인쇄해야합니까? 예를 들어 목록 형식으로 인쇄하는 것은[0, 5, 2, ...]
어떻습니까?