티스토리 뷰

Coding

ROT13

out of coding 2019. 8. 14. 11:37

단순한 암호화 방법의 하나인데요.

알파벳에 특정하게 값을 더하여 암호화 시키는 방법입니다.

wiki : https://ko.wikipedia.org/wiki/ROT13

 

ROT13 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 둘러보기로 가기 검색하러 가기 ROT13은 영어 알파벳을 13글자씩 밀어내는 방식으로 문자들을 치환한다. 예를 들어 'HELLO'는 'URYYB'로 치환된다. ROT13(Rotate by 13)은 단순한 카이사르 암호의 일종으로 영어 알파벳을 13글자씩 밀어서 만든다. 흔히 ROT-13 혹은 rot13이라고도 쓴다. 예를 들어서 'I LOVE YOU'를 ROT13으로 암호화하면 'V YBIR LBH'가 된다. 이 방법은

ko.wikipedia.org

다음과 같은 텍스트가 있다고 할 경우

"Lbh penpxrq gur pbqr!"

 

풀게 되면 다음과 같아집니다.

"You cracked the code!"

 

*CODE

func rot13byte(sb byte) byte {
	s := rune(sb)
	if s >= 'a' && s <= 'm' || s >= 'A' && s <= 'M' {
		sb += 13
	}
	if s >= 'n' && s <= 'z' || s >= 'N' && s <= 'Z' {
		sb -= 13
	}

	return sb
}

요즘은 Go를 해서... go로 올리지만 알고리즘이라 그냥 대충 보면 다 아실거 같네요.

'Coding' 카테고리의 다른 글

배열에서 가장 큰 정사각형 찾기  (0) 2019.12.02
fibonacci. index에 해당하는 값은?  (0) 2019.11.27
c0dility. 1. BinaryGap  (0) 2019.11.23
Stack을 이용하여 Queue 만들기  (0) 2019.11.21
Algorithm. swift. 진수 변환  (0) 2018.07.16
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/05   »
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 30 31
글 보관함