每次插入用户名和密码的数据行时,我总是收到此警告消息。我使用的功能是密码 MD5 和用户名当前用户。
我所做的是将用户名和密码的功能留空,现在它成功插入而没有警告,但我当然不能让密码不加密。
我试图在互联网上搜索这种问题,但它们很难理解。我需要知道的是每次我为发生警告的行设置函数时导致此问题的原因是什么?
这是警告说的。
插入 1 行。
警告:#1265 第 1 行的“用户名”列的数据被截断
警告:#1265 第 1 行的“密码”列的数据被截断
每次插入用户名和密码的数据行时,我总是收到此警告消息。我使用的功能是密码 MD5 和用户名当前用户。
我所做的是将用户名和密码的功能留空,现在它成功插入而没有警告,但我当然不能让密码不加密。
我试图在互联网上搜索这种问题,但它们很难理解。我需要知道的是每次我为发生警告的行设置函数时导致此问题的原因是什么?
这是警告说的。
插入 1 行。
警告:#1265 第 1 行的“用户名”列的数据被截断
警告:#1265 第 1 行的“密码”列的数据被截断
它只是意味着您插入的值的长度大于列上定义的长度。
将列username
和password
长度更改为 32,因为 MD5 返回 32 个十六进制数字的字符串。
通常,密码在加密时带有更大的字符序列。因此,为了安全插入,请将您的密码长度设置为至少 50 个字符。我们已经在生产应用程序中实现了这一点,这至少在 2 年内没有给我们带来任何问题。我们已经看到 md5 加密密码达到 28 个字符或更多字符。
希望这对你有帮助
请检查您的模型中的密码字段,max_lengh 是否大于 128
密码 = models.CharField(max_length=128, blank=True, null=True, verbose_name='password', help_text="password")