RSA 알고리즘은 어디선가 많이 들어보셨으리라 생각이 듭니다. 어떠한 메세지가 있습니다. 메세지 M을 a1이라는 key로 암호화 했습니다. 암호화 된 메세지를 E(M)이라고 하겠습니다. 이를 a1과 다른 값을 가지는 a2로 복호화를 합니다. 예를 들어, 3으로 암호화를 시키고 5라는 키로 복호화를 시키는 식입니다. 비대칭키 알고리즘인 셈입니다. 이 포스팅에서는 과정만 보일 겁니다. 그러니 오일러 파이나, CRT와 같은 용어는, 천천히 알아가시는 것도 좋을 듯 싶습니다. 다만, 제가 중간 중간 보라색으로 칠한 부분은 심도 있게 생각해 보셔도 좋을 듯 싶습니다. 먼저, 두 소수의 곱으로 이루어진 합성수를 생각해 보도록 하겠습니다. 예를 들어 3과 5를 곱해서 나오는, 15라던지, 37과 41의 곱으로 이루어..
분류 전체보기 검색 결과
System의 arrayCopy는 생각보다 레퍼런스 내에서 상당히 많이 보이는 메서드입니다. 배열을 복사하는 것은 상당히 많이 쓰이기 때문입니다. 이것이 어떤 함수인지 간단하게만 언급하도록 하겠습니다. 분석까지는 하지 않겠습니다. 먼저, src는 source를 의미합니다. 원본이 들어있는 배열과, 복사를 시작할 위치를 받습니다. 그리고, 복사된 값을 넣을 배열과, 넣기 시작할 위치를 받습니다. 그리고 얼마나 넣을 것인지를 받습니다. 여기까지만 보면 도무지 무슨 이야기인지 잘 모르겠어요. 예제를 보도록 하겠습니다. 예를 들어서, 1번째 인자가 arr, 2번째 인자가 0, 3번째 인자가 brr, 4번째 인자가 10, 5번째 인자가 10이라고 해 보겠습니다. 이 경우에는, 배열 arr의 0번째 원소부터 x개를..
Java는 utf16으로 데이터를 저장한다는 이야기는 많이 들어보았을 듯 싶습니다. 이모지는 2byte로 커버가 되지 않을 텐데 어떻게 저장할까요? 2개의 쌍을 가진 서러게이트로 나누어서 저장합니다. Java 시간에도 잠깐 언급을 했었는데, 그리고 sql을 할 때도 언급을 한 거 같은데, 또 언급하는 이유는 그만큼 중요하기 때문입니다. 몇 메소드에 대해서 더 알아가실 겸. 겸사 겸사. 예를 들어, 강아지 이모티콘은 16진수로, 0x1F415입니다. 이는 2byte의 한계인 0xFFFF보다는 큰 수입니다. Character의 toChars는 codepoint 값을 받아서, 이것을 char형 배열로 리턴해 주는 함수입니다. 이는 Unicode의 코드값을 의미합니다. 예를 들어, '가'는 0xAC00이니까, ..
생활코딩에 올라왔던 질문을 해결해 보도록 하겠습니다. google 코드 잼 등을 보면, 라운드들이 있어요. 그 중, 1차 라운드, 2차 라운드, 3차 라운드가 있어서, 이들 중 한 라운드에 통과하면, 다음 라운드에 진출한다는 규칙도 있습니다. 이런 것은 SQL로 어떻게 처리하면 좋을까요? test table은 아래와 같이 주어져 있습니다. 여기서 name은 유저 이름, _check는 각 시험에 통과했는지를 나타냅니다. 여기서 _check는 'Y'나 'N'만 나올 수 있습니다. null 값은 허용이 되지 않는다고 해 봅시다. 어떠한 유저가 x차 라운드 중 최소한 하나 이상 통과했다면, 통과 여부를 'Y'로, 아니면 'N'으로 표기하고 싶습니다. 다시 조건을 보면, 'Y'가 하나라도 있으면, 통과라고 했습니..
이번 시간에는 리다이렉트 (redirect) 와 포워드(forward)에 대해서 알아보겠습니다. 이 둘이 어떻게 다른지 간단하게 프로그램을 작성해 보겠습니다. 먼저 home.jsp입니다. form action에 "work"라고 되어 있습니다. submit 버튼이 있고, id와 name이 "name"인 텍스트 폼이 하나 있습니다. 텍스트 폼에 뭔가를 넣고 submit을 누르면, work로 넘어갈 겁니다. 그러면, HttpServlet를 extend한 work 클래스로 들어오게 됩니다. 이 클래스 안에는 doGet과 doPost 메서드가 오버라이딩이 되어 있습니다. 이 둘은 각각 Post로 받았을 때와 Get으로 받았을 때 어떻게 처리해야 할지 작성하게 됩니다. post로 들어왔던, get으로 들어왔던, d..
최근댓글