Preskočiť na hlavný obsah

Java md5

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

Obľúbené príspevky z tohto blogu

Java - Súčet Listu s objektami BigDecimal

Pri používaní typu BigDecimal som narazil na zaujímavú úlohu a to sčítanie všetkých hodnôt v Liste. Majmä nasledovne definovaný list: List < BigDecimal > listOfBigDecimals = new LinkedList (); 1. spôsob je klasicke preiterovanie celého listu: BigDecimal sum = BigDecimal . ZERO ; for ( BigDecimal number : listOfBigDecimals ) { sum = sum . add ( number ); } 2. spôsobom je využitie stream.reduce() : BigDecimal sum = listOfBigDecimals . stream () . reduce ( BigDecimal . ZERO , BigDecimal :: add ); BONUS: spôsob s použitím reduce() v Kotline : val sum : BigDecimal = listOfBigDecimal . reduce { a , n -> a . add ( n ) }

Obnova vymazaných suborov

Mnohokrát som sa stretol s otázkou či je možné obnoviť vymazané súbory na disku, na USB kľúči či na pamäťovej karte. Moja odpoveď je vždy rovnaká: NIE! Áno, ja viem klamať sa nemá ale je to lepšie pre obe strany. Ja sa s tým nemusím hrať a prehľadávať kadejaké staré USB disky a na druhej strane ľudia nie sú sklamaný keď sa mi to nepodarí. Teraz keď vieme, že to ide tak si poďme ukázať jednoduchý spôsob ako sa to dá robiť. Počas ukážky si stiahnem logo softvéru TestDisk ktoré následne vymažem a pokúsim sa ho opäť obnoviť. Použijem na to softvér TestDisk . user@pc:/media/user/USB $ wget http://www.cgsecurity.org/mw/images/Testdisklogo_clear_100.png --2017-02-10 23:03:29-- http://www.cgsecurity.org/mw/images/Testdisklogo_clear_100.png Prevádza sa www.cgsecurity.org (www.cgsecurity.org) na IP adresu... 193.168.50.236 Pripájanie k www.cgsecurity.org (www.cgsecurity.org)|193.168.50.236|:80... pripojené. HTTP požiadavka odoslaná, čakám na odpoveď... 200 OK Dĺžka: 1726 (1,7K) [imag...

Formátovanie poznámok pod čiarov v LaTeXe

Najjednoduchšou cestou je použitie hand nastavení z balíčka footmisc . Pre nastavenie odsadenie použijeme voľbu \fotnotemargin nasledovne: \documentclass{article} \usepackage{lipsum} \usepackage[hang]{footmisc} \setlength\footnotemargin{10pt} \begin{document} \null\vfill % iba pre príklad \lipsum*[4]Test\footnote{\lipsum[4]} \end{document} Citované z : http://tex.stackexchange.com/questions/126877/how-can-i-align-a-multiple-line-footnote-text-right-to-the-footnote-mark#126878