Dlho som sa rozčuľoval prečo nie je v Jave funkcia ktorá by mi vygenerovala z reťazca znakov md5 odtlačok. Nakoniec som to vzdal a začal dom hľadať po internete, že ako mám spraviť nejakú takú funkciu.
Samozrejme, že som našiel kopec možnosti ako to spraviť a tu je jedna z nich:
import java.io.UnsupportedEncodingException; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.util.logging.Level; import java.util.logging.Logger; import javax.swing.JOptionPane; public class hash { public static String md5Java(String message) { String digest = null; try { MessageDigest md = MessageDigest.getInstance("MD5"); byte[] hash = md.digest(message.getBytes("UTF-8")); StringBuilder sb = new StringBuilder(2 * hash.length); for (byte b : hash) { sb.append(String.format("%02x", b & 0xff)); } digest = sb.toString(); } catch (UnsupportedEncodingException ex) { //Logger.getLogger(StringReplace.class.getName()).log(Level.SEVERE, null, ex); } catch (NoSuchAlgorithmException ex) { //Logger.getLogger(StringReplace.class.getName()).log(Level.SEVERE, null, ex); } return digest; } public static void main(String args[]) { System.out.println("MD5 textu 'ahoj' " + md5Java("ahoj")); } }Samozrejme pomocou tejto funkcie môžete vytvárať aj iné odtlačky ako napríklad SHA1. Zoznam nájdete tu.
Komentáre
Zverejnenie komentára