Javaで暗号化処理
なんか一括でやるのないの?
ライブラリとしてはありそうですけどJava共通ではなさそう
参考資料
qiita.com
基本↑見て
やりたいこと
指定の文字列にソルト文字列とかを設定して変な文字列にしたい…
実装
Sample01.java
import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.UUID; public class Sample01 { // private static final String ALGORITHM = "SHA-256"; // private static final String ALGORITHM = "SHA-384"; private static final String ALGORITHM = "MD5"; public static void main(String[] args) { for(int i=0;i<10;i++) { String res = null; String id = UUID.randomUUID().toString(); DateTimeFormatter f = DateTimeFormatter.ofPattern("yyyyMMddHHmmssSSS"); String time = String.valueOf(LocalDateTime.now().format(f)); String value = id + time; // res = value + " -> " + hashValue(value); System.out.println(res); } } public static String hashValue(String id) { String res = null; StringBuilder sb = null; try { MessageDigest md = MessageDigest.getInstance(ALGORITHM); md.update(id.getBytes()); sb = new StringBuilder(); for (byte b : md.digest()) { String hex = String.format("%02x", b); sb.append(hex); } res = sb.toString(); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } return res; } }
↓
e1242272-9bf8-442d-8117-9e3ad4b3647720170111232904271 -> 521ef152cb07f806660753e403095556 c30a9dfa-e253-4972-b3aa-4a76b6471faa20170111232904288 -> c0463468c4615db586e57a1453b3c1fe a2f03642-2ac3-4b37-b02a-fd0722224abc20170111232904289 -> 0a6a0cfafed084796377e6047884422e 411000d1-b143-4742-bf05-6531ba1c16a520170111232904291 -> 1e21f51ec30dc0d8f17f17018b87855b fbac2ec4-8502-48b7-a551-20209346272120170111232904292 -> f34c894ee82d26761773b7be4e32e3e8 cf5c4f1c-d3f3-4648-aaf6-7cbeb1cdbe5720170111232904293 -> 38ad47a89b2f9407fee73605245a85ac 0656800a-1ec1-4ba7-9260-195a769d620820170111232904294 -> 1ce74a1b8862d761d538ec280b8adac3 1f9c7c16-58ad-4991-8ba8-f9fa3d0564ca20170111232904295 -> d0b63e2b96bbfedf16d41aa3142261ba 05f11ff3-be44-4a76-ad46-31534d466e9f20170111232904296 -> 62beae12ce3b618c842971995c4737d0 06534f7f-c6e1-4c52-be91-233bb6477c2320170111232904297 -> 140ba0d50f0a32ae5631a34e77aae581
今回は乱数文字に日時を付与して暗号化してみた
使い捨ての暗号ならこのレベルで良いはず…