【发布时间】:2013-01-05 11:19:36
【问题描述】:
我正在处理一个与人们的钱交互的信用卡项目,因此我需要存储一个密码。此密码不应包含任何字符,只能包含数字 [0-9],并且始终应为 4 位数字。
我不知道该密码使用什么 sql 数据类型。
以下是我想到的一些情况:
A.如果我选择int,我应该检查密码在 1000 到 9999 之间
B. 如果我选择 Char(4) 那么我应该检查密码是否只有数字(而不是字符)
C. 如果我选择 Decimal(4,0) 那么我确定它低于 10000 但我仍然需要检查它是否大于 999
您对这样的密码有什么建议以及为什么?
【问题讨论】:
-
你会要求人们输入密码并存储吗? )
-
@NPE 这是一个真正的项目,所以我很关心它,我不是在玩。
-
@beherenow 是的,实际上人们可以更改密码。
-
@NPE 每个人都没有你那么有见识,你可以取笑别人,你可以帮助他们。如果您能帮助我获得一些经验并学到一些东西,我会很高兴。我想我们是来这里学习和教学的,不是吗?我正在学习。
-
我认为您不必担心,因为我怀疑任何金融机构都会允许您按照您的提议行事。您在此处发帖的事实意味着您的团队非常不熟练,无法抵御当人们得知您正在存储 PIN 码时肯定会出现的黑客攻击
标签: sql passwords sqldatatypes