小编ngn*_*ngn的帖子

使用Hibernate和MySQL创建时间戳和上次更新时间戳

对于某个Hibernate实体,我们需要存储其创建时间和上次更新时间.你会怎么设计这个?

  • 您将在数据库中使用哪些数据类型(假设MySQL,可能在与JVM不同的时区)?数据类型是时区感知的吗?

  • 你会在Java中使用什么数据类型(Date,Calendar,long,...)?

  • 您将负责设置时间戳 - 数据库,ORM框架(Hibernate)或应用程序员?

  • 您将使用哪些注释进行映射(例如@Temporal)?

我不只是在寻找一个可行的解决方案,而是一个安全且设计良好的解决方案.

java timestamp hibernate

228
推荐指数
10
解决办法
25万
查看次数

SecureRandom:init一次或每次需要init?

我们的团队正在使用SecureRandom生成密钥对列表(SecureRandom传递给KeyPairGenerator).我们无法就以下两个选项中的哪一个达成一致:

  1. 每次我们需要生成密钥对时创建一个新实例

  2. 初始化静态实例并将其用于所有密钥对

哪种方法通常更好,为什么

补充:我的直觉是第二种选择更安全.但我唯一的论点是基于伪随机性来自当前时间戳的假设的理论攻击:某人可能看到密钥对的创建时间,猜测周围时间间隔中的时间戳,计算可能的伪随机序列,并获得关键材料.

补充:我对基于时间戳的确定性的假设是错误的.这是Random和SecureRandom之间的区别.因此,看起来答案是:在安全性方面它并不重要.

java security random cryptography

20
推荐指数
4
解决办法
1万
查看次数

IPv6地址验证和规范化

您使用了哪些库?它们彼此之间有多兼容?或者您是否编写了自己的解析例程?

我对Java,C++,Python和JavaScript的相互兼容的实现特别感兴趣,它们支持:

  • 零压缩(" ::")
  • IPv4映射地址(" ::ffff:123.45.67.89")
  • 规范化(包括简短形式,用于人类可读性)
  • CIDR风格的网络掩模(如最后的" /64")

javascript c++ python java ipv6

5
推荐指数
3
解决办法
2万
查看次数

标签 统计

java ×3

c++ ×1

cryptography ×1

hibernate ×1

ipv6 ×1

javascript ×1

python ×1

random ×1

security ×1

timestamp ×1