【问题标题】:How to create a secured field in H2 database?如何在 H2 数据库中创建安全字段?
【发布时间】:2023-03-23 15:38:02
【问题描述】:

我期待如何以加密形式将我的密码存储在数据库中。 我找到了这本手册,但仍然不确定如何将它放入我的 ddl。 下面的代码不起作用。

create table USER_USER (
USER_USER_ID long NOT NULL AUTO INCREMENT, 
USER_USER_LOGIN varchar(50),
USER_USER_PASSWORD varchar (50) cipher lzf, 
USER_USER_EMAIL varchar(50)
);

【问题讨论】:

    标签: sql jdbc h2


    【解决方案1】:

    首先,lzf 不是cipher 的有效参数; H2只支持aesxtea(documentation)

    也就是说,不要让数据库为您加密密码。该数据库通常不会与您的 Java 应用程序在同一台服务器上运行,这意味着密码将以纯文本形式通过网络传输。

    即使您的数据库位于同一台服务器上,甚至是嵌入的,密码也需要非常多的特殊处理,因此您最好将它们存储为二进制 blob 并使用像 jBCrypt 这样的框架。主要原因是攻击者开发了复杂的自动化工具来自动破解密码。编写一个能够抵御大多数常见攻击的算法并不容易。

    【讨论】:

      猜你喜欢
      • 2014-08-13
      • 2011-07-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-23
      • 1970-01-01
      • 2013-01-31
      • 1970-01-01
      相关资源
      最近更新 更多