====== JavaScript Cryptography ====== * [[http://kwon37xi.egloos.com/4427199|RSA 기반 웹페이지 암호화 로그인]] * [[http://tvnuri.tistory.com/entry/%EC%95%94%ED%98%B8%ED%99%94%EB%A5%BC-%EC%9D%B4%EC%9A%A9%ED%95%9C-%EC%9B%B9%ED%8E%98%EC%9D%B4%EC%A7%80-%EB%B3%B4%EC%95%88|암호화를 이용한 웹페이지 보안]] * [[http://code.google.com/p/crypto-js/|Crypto.js]] * [[http://www-cs-students.stanford.edu/~tjw/jsbn/|RSA and ECC in JavaScript]] - RSA에 사용한다. * 이 라이브러리로 RSA 암호화를 할 때 값이 ''0''인 바이트를 맨 앞에 삽입하는 현상이 발견되고 있다 복호화시에 맨 앞 바이트의 ''0''을 제거해주면 잘 작동한다. // Java에서 인코딩된 문자열을 Byte[]로 바꿀때 맨 앞에 0 이 있으면 삭제하기 private byte[] getEncryptedBytes(String encryptedString) { byte[] bytes = new BigInteger(encryptedString, 16).toByteArray(); // javascript RSA 라이브러리가 맨 앞에 \0을 붙이는 현상이 있어서 처리하고 있음. if (bytes[0] == 0) { return ArrayUtils.subarray(bytes, 1, bytes.length); } return bytes; } * [[http://ohdave.com/rsa/|RSA In JavaScript]] * [[http://www.fourmilab.ch/javascrypt/|JavaScrypt: Browser-Based Cryptography Tools]] * [[http://people.eku.edu/styere/|Javascript Encryption Examples]] * [[http://www.movable-type.co.uk/|Movable Type — Information Design & Management]] - TEA, AES 등에 관한 예제 * [[http://www.baeldung.com/java-keystore|Java KeyStore API]] * [[java:crypt:rsa|Java RSA]]