|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- """提升网站的安全性"""
- #网站不会保存用户的密码明文
- #用户的密码在传输到服务器数据库之前,会被单向加密为密文
- #下面是MD5的单向加密方式
- #import hashlib
- #result = hashlib.md5(b"FishC")
- #print(result.hexdigest())
- #9d22182e926ca703cd0f5926e7d57782
- #下面利用MD5进行单向加密
- import hashlib
- names = {"小甲鱼":"I_love_FishC", "不二如是":"FishC5201314"}
- names_only = ["小甲鱼", "不二如是"]
- resluts = []
- name = input("请输入用户名:")
- while True:
- if name in names:
- print("该用户名已被注册!")
- name = input("请重输入用户名:")
- continue
- else:
- break
- key = input("请输入密码:")
- names[name] = key
- names_only.append(name)
- print("----------------")
- print("目前已注册的用户有:")
- for each in names.values():
- resluts.append(hashlib.md5(bytes(each)))
- for i in range(len(names_only)):
- print(names_only[i], ":", results[i].hexdigest())
-
-
复制代码
问题在于b字符串的输入怎么进行?实例给的是这种,但是怎么才能完呢?
在Python中, b前缀表示字符串是字节字符串(bytes)。 b"FishC"表示将字符串"FishC"转换为字节字符串。
如果你想将用户输入的字符串转换为字节字符串,可以使用字符串的 encode()方法来实现。例如:
- name = input("请输入用户名:").encode()
复制代码
在上述代码中, input()函数接收用户输入的字符串,并使用 .encode()方法将其转换为字节字符串。
同样,你可以在需要的地方使用 .encode()方法来将字符串转换为字节字符串。例如:
- resluts.append(hashlib.md5(each.encode()))
复制代码
这样就可以将 each字符串转换为字节字符串,并使用 hashlib.md5()函数进行MD5加密操作。
注意,在使用用户输入的字符串进行加密操作时,需要注意编码方式。常见的编码方式包括UTF-8、GBK等,具体使用哪种编码方式取决于你的需求和场景。
希望上述解释对你有所帮助!
如果问题已经解决,请设置最佳答案
|
|