【问题标题】:A proper way to store a converted to string byte array in MySQL?在 MySQL 中存储转换为字符串字节数组的正确方法?
【发布时间】:2019-02-26 15:15:08
【问题描述】:

有没有什么合适的方法可以在 MySQL 中存储 RSA 编码的字符串而不会出现任何 Unicode 问题?

我到底想做什么: 使用以 RSA 编码的密码进行用户身份验证,并在不使用私钥的情况下比较密码。 (在 byte[] 或 bytearray 中比较两个密码作为字符串)

【问题讨论】:

  • 一个字符串!=一个字节数组;它们是两种不同的类型。顺便说一句:听起来您考虑存储密码的方式并不安全。考虑使用标准密码哈希解决方案。
  • 在我看来,如果您的编码机制返回一个字节数组,那么您应该将值存储在 VARBINARY 列中。
  • 一旦存储在 VARBINARY 中,我应该使用preparedStatement.setBytes 并使用resultSet.getBytes 获取它吗?
  • 当然你要用getBytes,你还会用什么?

标签: java mysql arrays jdbc rsa


【解决方案1】:

您可以在mysql中使用blob进行存储,然后按原样进行campare,无需解密

【讨论】:

  • 我是否应该使用 ResultSet#getBytes 获取该 blob,然后与 Arrays#equals 进行比较?
  • @KlavyDev - 是的,就是这样。
  • @KlavyDev 这正是你需要做的......如果你对答案感到满意,请投票
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-09-07
  • 1970-01-01
  • 1970-01-01
  • 2021-11-11
  • 1970-01-01
  • 2016-10-28
  • 1970-01-01
相关资源
最近更新 更多