import sys
import hashlib
import getpass
from passlib.hash import sha256_crypt
import MySQLdb, random, os
def SQLAddPass(username, password):
SQL = 'insert into user values ("%s", "%s")' % (username, password)
try:
db = MySQLdb.connect (host='localhost', user='root', db='vedio')
c = db.cursor()
c.execute(SQL)
db.commit()
c.close()
db.close()
raw_input('Record Added - press enter to continue: ')
except:
print 'There was a problem adding the record'
raw_input ('press enter to continue')
def main(argv):
print '\nUser & Password Storage Program v.01\n'
username = raw_input('Please Enter a User Name: ')
password = sha256_crypt.encrypt(getpass.getpass('Please Enter a Password: '))
try:
SQLAddPass(username, password)
except:
sys.exit('There was a problem saving Record!')
print '\nPassword safely stored in ' + sys.argv[1] + '\n'
if __name__ == "__main__":
main(sys.argv[1:])
我的问题是该脚本有效,但出现以下错误 **
(C:\ Users \ Elsie \ Desktop \ example.py:14:Warning:数据截断为 列'passwo rd'在第1行c.execute(SQL)Record Added - 按 输入继续:
**
密码安全存储在数据库中。我在做错了任何想法或对代码的更改都是受欢迎的)
答案 0 :(得分:1)
第1行的'passwo rd'列截断数据
意味着你的表有一个密码列,其长度例如为10,你插入的记录就是20个。你插入的记录将被截断。密码将被破坏。
增加表格中列的长度
答案 1 :(得分:0)
您的“密码”字段可能太短。 你需要一个varchar(64)。您的密码字段长度是多少?