|
Akka/Scala example source code file (Crypt.scala)
The Crypt.scala Akka example source code/** * Copyright (C) 2009-2014 Typesafe Inc. <http://www.typesafe.com> */ package akka.util import java.security.{ MessageDigest, SecureRandom } //FIXME DOCS object Crypt { val hex = "0123456789ABCDEF" val lineSeparator = System.getProperty("line.separator") lazy val random = SecureRandom.getInstance("SHA1PRNG") def md5(text: String): String = md5(unifyLineSeparator(text).getBytes("ASCII")) def md5(bytes: Array[Byte]): String = digest(bytes, MessageDigest.getInstance("MD5")) def sha1(text: String): String = sha1(unifyLineSeparator(text).getBytes("ASCII")) def sha1(bytes: Array[Byte]): String = digest(bytes, MessageDigest.getInstance("SHA1")) def generateSecureCookie: String = { val bytes = Array.fill(32)(0.byteValue) random.nextBytes(bytes) sha1(bytes) } def digest(bytes: Array[Byte], md: MessageDigest): String = { md.update(bytes) hexify(md.digest) } def hexify(bytes: Array[Byte]): String = { val builder = new java.lang.StringBuilder(bytes.length * 2) bytes.foreach { byte ⇒ builder.append(hex.charAt((byte & 0xF0) >> 4)).append(hex.charAt(byte & 0xF)) } builder.toString } private def unifyLineSeparator(text: String): String = text.replaceAll(lineSeparator, "\n") } Other Akka source code examplesHere is a short list of links related to this Akka Crypt.scala source code file: |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.