【问题标题】:How to insert item to database with stars?如何用星号将项目插入数据库?
【发布时间】:2019-07-29 13:47:48
【问题描述】:

我想记录一个项目到数据库。但是,我希望 sql 将其转换为星号,所以当我查看记录时,我将无法理解所写的内容。

我该怎么做?

【问题讨论】:

  • 您使用的是什么版本的 SQL(例如 MySQL、SQL Server、Oracle)? “SQL”只是一种语言,而不是实际产品。
  • 我正在使用 mysql
  • 您在寻找加密数据的方法吗?如果是这样,您需要使用任何散列算法,例如 MD5,SHA1
  • 是的,我是@MJoy。当我获取该数据时,我希望 mysql 转换为原始版本的数据。所以我应该使用你推荐的?
  • @hakan 假设你的中间件是PHP,这将是help

标签: c# mysql


【解决方案1】:

也许您可以做的最好的事情是使用屏蔽版本的数据维护一个单独的列,或者在查询时只生成屏蔽版本,例如

SELECT
    item,
    CONCAT(REPEAT('*', LENGTH(item)-4), RIGHT(item, 4)) AS item_masked
FROM yourTable;

【讨论】:

    【解决方案2】:

    我假设您要对写入的数据进行加密,因此您还需要考虑如何读取或比较这些数据。有两种选择:

    1. 如果您只需将数据与输入的内容进行比较,您可以使用散列函数,即单向加密。所以一旦你散列它,你将无法解密它,你只需要收集一些其他输入,散列它并将结果与​​数据库中的结果进行比较。

    2. 使用一些众所周知的加密系统,例如 RSA,并将加密的数据存储在数据库中。然后,当您要获取它时,只需使用您的私钥解密即可。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-19
      • 2012-06-13
      • 2020-05-29
      相关资源
      最近更新 更多