- javascript 에서 rsa 암호화, 복호화 하기2023년 08월 26일
- 루루개발자
- 작성자
- 2023.08.26.:20
반응형이번 글에서는 javascript 에서 rsa 암호화 및 복호화 하는 방법에 대해 공유드리고자 합니다.
코드 공유
import { JSEncrypt } from 'jsencrypt'; export function encrypt(data: string, key: string): string { const sign = new JSEncrypt(); sign.setKey(key); return sign.encrypt(data).toString(); } export function decrypt(encData: string, key: string): string { const sign = new JSEncrypt(); sign.setKey(key); return sign.decrypt(encData).toString(); }
jsencrypt 라는 패키지를 활용하여 위와 같이 rsa 암호화, 복호화 하는 함수를 작성해본 것을 공유드립니다. typescript 로 작성하였습니다.
rsa 키 생성 방법
1) 아래 명령어로 private key 를 생성합니다. (keypair_priv.pem 을 변경하여 원하는 파일명으로 하셔도 됩니다.)
openssl genrsa -out keypair_priv.pem 2048
2) 아래 명령어로 방금 생성한 private key 의 public key 를 생성합니다.
openssl rsa -in keypair_priv.pem -pubout -out keypair_pub.crt
Public Key 로 복호화 하는 것은 미작동
위에 공유드린 javascript 코드를 테스트 해보면, public key 로 암호화 한 것을 private key 로 복호화 하는 것은 정상 작동하지만, private key 로 암호화 한 것을 public key 로 복호화 하는 것은 작동하지 않았습니다. 이론상으로는 가능한 것으로 알고 있어서 혹시나 하는 마음으로 다른 패키지로도 테스트를 해보았지만, 이 역시도 동일한 현상이 발견되었습니다. 이 부분에 대해 자세히 알고 계신 분이 있다면 댓글로 의견 남겨주시면 감사하겠습니다!
반응형'Node.js & Javascript & Typescript' 카테고리의 다른 글
nvm 으로 node.js 버전 관리하기 (0) 2023.09.14 javascript 에서 aes256 암호화, 복호화 하기 (1) 2023.07.26 호이스팅 (hoisting) (2) (0) 2023.07.22 타입 가드와 타입 축소에 대하여 (0) 2023.02.08 package.json 의 버전 표기법 (npm) (0) 2022.12.24 다음글이전글이전 글이 없습니다.댓글
스킨 업데이트 안내
현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)