원본 본문으로 이동하기

Java SHA3 암호화

루아 - bouncyCastle 라이브러리를 사용한 예제 입니다. 설치 : http://www.bouncycastle.org/latest_releases.html MIT License의 라이브러리이며 SHA3 이외의 다른 암호화도 지원하고 있다 CrtyoSHA3의 key값에는 암호화할 문자를 넣으면 되고 hash값에는 224, 256, 384, 512중 하나를 넣어주면 된다. 소스코드 public class Crypto { public String CryptoSHA3(String key, int hash) { // 1.x 버전 //DigestSHA3 md = new DigestSHA3(hash); // 2.x 이상 부터 DigestKeccak md = new DigestKeccak(hash); try { md.update(key.getBytes("UTF-8")); } catch (UnsupportedEncodingException e){ e.printStackTrace(); } byte[] digest = md.digest(); return org.bouncycastle.util.encoders.Hex.toHexString(digest); } public static void main(String[] args){ Crypto crt = new Crypto(); System.out.println("HASH 224 : " + crt.CryptoSHA3("가나다라마바", 224)); System.out.println("HASH 256 : " + crt.CryptoSHA3("가나다라마바", 256)); System.out.println("HASH 384 : " + crt.CryptoSHA3("가나다라마바", 384)); System.out.println("HASH 512 : " + crt.CryptoSHA3("가나다라마바", 512)); } } 출력 HASH 224 : 2748b9814be815b8c1c0ac80789cd16f84d3d725b944a9bee7a13cc8 HASH 256 : 9bd8525800c25e5d15132c5503b771d302f801902934b139f00b0710d76485fd HASH 384 : 663f3b7d43554c70a3e6aea819a76da6dfe8211604ef709148fb3bcf0f136ddfb5d8d03bb2ba1f260f88e97391855ea9 HASH 512 : 12aa8a5a125c9177d83da90b69d182ee220eaf22584120af61c51821e31f9dc8072d95e5cc4b3caec3b19345dbeefd8e1cd407f238f13711ac9965122aa6d1a4 - 암호학 안드로이드 자바