我们继承了一些东西,有些东西比其他东西更糟糕。
最近继承了一个有明文密码的用户表。通常情况下,这并不是什么大不了的事,但桌子与很多网络应用程序相关联 - 其中一些我不能指望在没有它们的情况下发现并且人们首先抱怨。
我想加密这个密码列,而无需修改这些神秘应用程序的连接字符串或硬编码的sql。我以为可以通过用一个使用'OR'子句的mysql视图替换这个表来验证两种方法。这个想法就像encrypted_sql_check或plaintext_sql_check,其中明文sql检查看起来像md5(plaintextpw,salt)或者某些东西,基本上通过使用盐的加密器运行明文提交并检查匹配。
虽然我不是dba,所以这只是一个代码混乱的一些想法。这可行吗?我是否会遇到insert / update / etc查询的问题?换句话说......有人可以告诉我为什么这不起作用?这个数据库表也将作为一个drupal用户表,所以如果有任何理由会让事情变得很糟糕,那么也应该知道。
谢谢!
答案 0 :(得分:1)
数据库中的视图通常是只读的,所以是的,在尝试通过这样的视图更新或插入值时会遇到问题。另一方面,在原始表上工作应立即工作并更新视图。