Tutorial by Examples

To compute the hashes of relatively small blocks of data using different algorithms: final MessageDigest md5 = MessageDigest.getInstance("MD5"); final MessageDigest sha1 = MessageDigest.getInstance("SHA-1"); final MessageDigest sha256 = MessageDigest.getInstance("SHA-256&...
To generate samples of cryptographically random data: final byte[] sample = new byte[16]; new SecureRandom().nextBytes(sample); System.out.println("Sample: " + DatatypeConverter.printHexBinary(sample)); Produces output similar to: Sample: E4F14CEA2384F70B706B53A6DF8C5EFE Note...
To generate key pairs using different algorithms and key sizes: final KeyPairGenerator dhGenerator = KeyPairGenerator.getInstance("DiffieHellman"); final KeyPairGenerator dsaGenerator = KeyPairGenerator.getInstance("DSA"); final KeyPairGenerator rsaGenerator = KeyPairGenerator...
To compute a signature: final PrivateKey privateKey = keyPair.getPrivate(); final byte[] data = "FOO BAR".getBytes(); final Signature signer = Signature.getInstance("SHA1withRSA"); signer.initSign(privateKey); signer.update(data); final byte[] signature = signer.sign();...
To encrypt data with a public key: final Cipher rsa = Cipher.getInstance("RSA"); rsa.init(Cipher.ENCRYPT_MODE, keyPair.getPublic()); rsa.update(message.getBytes()); final byte[] result = rsa.doFinal(); System.out.println("Message: " + message); System.out.println("...

Page 1 of 1