如何将邮件地址转换为 Scala 中的哈希值
How can I convert a mail address to a hash in scala
我想获取我的邮件地址的哈希值并将其写入日志文件。
logger.info(s"[RestService] Get permission request for $email")
这是我的情况,但我怎样才能得到电子邮件的哈希值。
助手还是方法?
我建议您创建一个对象并覆盖 hashCode
方法。然后使用 scala.util.hashing.MurmurHash3
创建您的哈希码。
import scala.util.hashing.MurmurHash3
object TestMurmurHash {
def main(args: Array[String]): Unit = {
val email = MyObject("my_email@google.com")
println(s"This is my email hash: $email and this is my hash: ${email.hashCode()}")
}
case class MyObject(val email: String) {
override def equals(o: Any): Boolean = {
this.hashCode() == o.hashCode()
}
override def hashCode(): Int = {
MurmurHash3.stringHash(email)
}
def mailToHash(): Int = {
MurmurHash3.stringHash(email)
}
}
}
输出:
This is my email hash: MyObject(my_email@google.com) and this is my hash: -585889836
我想获取我的邮件地址的哈希值并将其写入日志文件。
logger.info(s"[RestService] Get permission request for $email")
这是我的情况,但我怎样才能得到电子邮件的哈希值。
助手还是方法?
我建议您创建一个对象并覆盖 hashCode
方法。然后使用 scala.util.hashing.MurmurHash3
创建您的哈希码。
import scala.util.hashing.MurmurHash3
object TestMurmurHash {
def main(args: Array[String]): Unit = {
val email = MyObject("my_email@google.com")
println(s"This is my email hash: $email and this is my hash: ${email.hashCode()}")
}
case class MyObject(val email: String) {
override def equals(o: Any): Boolean = {
this.hashCode() == o.hashCode()
}
override def hashCode(): Int = {
MurmurHash3.stringHash(email)
}
def mailToHash(): Int = {
MurmurHash3.stringHash(email)
}
}
}
输出:
This is my email hash: MyObject(my_email@google.com) and this is my hash: -585889836