对于某个Hibernate实体,我们需要存储其创建时间和上次更新时间.你会怎么设计这个?
您将在数据库中使用哪些数据类型(假设MySQL,可能在与JVM不同的时区)?数据类型是时区感知的吗?
你会在Java中使用什么数据类型(Date,Calendar,long,...)?
您将负责设置时间戳 - 数据库,ORM框架(Hibernate)或应用程序员?
您将使用哪些注释进行映射(例如@Temporal)?
我不只是在寻找一个可行的解决方案,而是一个安全且设计良好的解决方案.
我们的团队正在使用SecureRandom生成密钥对列表(SecureRandom传递给KeyPairGenerator).我们无法就以下两个选项中的哪一个达成一致:
每次我们需要生成密钥对时创建一个新实例
初始化静态实例并将其用于所有密钥对
哪种方法通常更好,为什么?
补充:我的直觉是第二种选择更安全.但我唯一的论点是基于伪随机性来自当前时间戳的假设的理论攻击:某人可能看到密钥对的创建时间,猜测周围时间间隔中的时间戳,计算可能的伪随机序列,并获得关键材料.
补充:我对基于时间戳的确定性的假设是错误的.这是Random和SecureRandom之间的区别.因此,看起来答案是:在安全性方面它并不重要.
您使用了哪些库?它们彼此之间有多兼容?或者您是否编写了自己的解析例程?
我对Java,C++,Python和JavaScript的相互兼容的实现特别感兴趣,它们支持:
::")::ffff:123.45.67.89")/64")java ×3
c++ ×1
cryptography ×1
hibernate ×1
ipv6 ×1
javascript ×1
python ×1
random ×1
security ×1
timestamp ×1