hashlib 简单的登录例子
hashlib例子:
===============================================
import hashlib
md5 = hashlib.md5()
md5.update("chenadong")
print md5.hexdigest()
>>>09b8ed39ecf488704d1898134e3d94a1
===============================================
摘要算法:
对同一个字符串进行摘要算法得到的结果永远相同
当前有很多种摘要算法;
md5()是最常用的
不同的算法结果可能不同
不同的摘要算法,在python里面的使用方法都是一样的
hashlib简单应用:登录功能:
===================================
import hashlib
import time
def get_passwd():
__passwd = raw_input(">>>请输入密码")
return str(__passwd)
def get_username():
__username = raw_input(">>>请输入用户名")
return __username
def sign_in():
__username = str(raw_input(">>>请输入用户名"))
__passwd = bytes(raw_input(">>>请输入密码"))
# print(__passwd)
md5 = hashlib.md5()
md5.update(__passwd)
__passwd = md5.hexdigest()
# print __passwd
with open("./user.txt", "wb") as f:
f.write(__username + "\n")
f.write(__passwd)
print "signed"
def login():
sign_in()
while True:
____username = get_username()
# print "****%s" % ____username
____passwd = get_passwd()
with open("./user.txt", "r") as f:
lst = f.readlines()
signed_user = lst[0].split("\n")[0]
signed_passwd = lst[1]
# print signed_passwd, signed_user
md5 = hashlib.md5()
md5.update(____passwd)
____passwd = md5.hexdigest()
if ____username == signed_user:
if ____passwd == signed_passwd:
print "welcome back %s!!!" % ____username
else:
print "your passwd is not match, please try again later"
time.sleep(3)
break
else:
print "unsigned username"
if __name__ == "__main__":
login()
>>>请输入用户名a
>>>请输入密码a
signed
>>>请输入用户名a
>>>请输入密码a
welcome back a!!!
>>>请输入用户名a
>>>请输入密码b
your passwd is not match, please try again later
============================================================
hashlib 简单的登录例子的更多相关文章
- python 全栈开发,Day119(Flask初识,Render Redirect HttpResponse,request,模板语言 Jinja2,用户登录例子,内置Session)
一.Flask初识 首先,要看你学没学过Django 如果学过Django 的同学,请从头看到尾,如果没有学过Django的同学,并且不想学习Django的同学,轻饶过第一部分 三大主流Web框架对比 ...
- Web开发技术---简单的登录验证
制作一个APP或系统最基础的是登录界面,下面通过一个简单的登录注册界面的程序,来熟练掌握Web开发的技术. 一.知识点: 1.在网页界面获取用户的输入信息 2.标签的基本应用 3.用户输入结果的错误提 ...
- Xamarin.Android再体验之简单的登录Demo
一.前言 在空闲之余,学学新东西 二.服务端的代码编写与部署 这里采取的方式是MVC+EF返回Json数据,(本来是想用Nancy来实现的,想想电脑太卡就不开多个虚拟机了,用用IIS部署也好) 主要是 ...
- 以最简单的登录为例,诠释JS面向对象的简单实例
JavaScript,是前端开发人员必须会的一门技术,从JS演变出来的有很多框架,先说说几个热门的框架吧: JQuery:这个技术必须会,如果不会,那一定要会查api,知道怎么写,要看得懂英文文档,这 ...
- 一个简单的CORBA例子
因为对CORBA分析的需要,这里写一个简单的CORBA例子.从JDK1.2开始,JDK中集成了ORB的实现,本例子使用了JDK1.7,对于JDK1.2+应该都没有问题.这个例子实现一个简单的加减乘除的 ...
- 菜鸟学习Hibernate——简单的一个例子
一.Hibernate开发. 上篇博客已经为大家介绍了持久层框架的发展流程,持久层框架的种类. 为了能够使用Hibernate快速上手,我们先讲解一个简单的Hibernate应用实例hibernate ...
- 轻松创建nodejs服务器(1):一个简单nodejs服务器例子
这篇文章主要介绍了一个简单nodejs服务器例子,本文实现了一个简单的hello world例子,并展示如何运行这个服务器,需要的朋友可以参考下 我们先来实现一个简单的例子,hello world ...
- Android破解学习之路(一)——简单的登录破解
最近突然心血如潮开始学了Android破解,初入门,便是将经验记录下来. 准备工作: 1.一个登录简单APP 在我们破解之前,我们需要做一个简单的登录APP,输入相应的账号与密码便是弹出登录成功的对话 ...
- 使用Multiplayer Networking做一个简单的多人游戏例子-3/3(Unity3D开发之二十七)
使用Multiplayer Networking做一个简单的多人游戏例子-1/3 使用Multiplayer Networking做一个简单的多人游戏例子-2/3 使用Multiplayer Netw ...
随机推荐
- 使用Svn的版本号[转载]
1. 生成一个名为autover的项目 注意项目的Properties文件夹下有一个名为AssemblyInfo.cs的文件,autover程序的版本号就写在它里面. 2. 创建模板文件 在Windo ...
- Quartz.NET基础知识概述
Quartz.NET是什么 由于我现在使用的Quartz.NET2.2版本,相对2.x变化不大,主要是相对于1.x更新了很多东西,如下基础知识摘录网络. Quartz.NET是一个开源的作业调度框架, ...
- Mybatis 事务管理和缓存机制
一级缓存--SqlSession级别 数据库表tb_user User package com.example.demo.domain; public class User { private Int ...
- java字节码文件
查看字节码文件: javap -verbose HellloWorld.class
- curl 详解【转】
原文:https://blog.csdn.net/lansesl2008/article/details/14523303 用途说明 curl命令是一个功能强大的网络工具,它能够通过http.ftp等 ...
- visual studio code 个人设置
{ "vim.disableAnnoyingNeovimMessage": true, "php.validate.executablePath": " ...
- goconfig - INI 解析器
goconfig简介 goconfig是一个由Go语言开发的针对windows下常见的ini格式的配置文件解析器.该解析器在涵盖了所有ini文件操作的基础之上,又针对Go语言实际开发过程中遇到的一些需 ...
- shell命令——cut
功能:把行分成域 默认限定符为tab, -d:改变限定符 -f:指定输出力包含的域
- 23.读懂 ECMAScript 规格
读懂规格 读懂 ECMAScript 规格 概述 规格文件是计算机语言的官方标准,详细描述语法规则和实现方法. 一般来说,没有必要阅读规格,除非你要写编译器.因为规格写得非常抽象和精炼,又缺乏实例,不 ...
- kooboocms遇到的问题
1.工作流:需要在网站的内容设置里启用工作流,然后添加一个工作流,再在内容文件夹里设置工作流属性(经测试,工作流对网络用户才有效,也就是说必须把用户添加到该网站下) 2.网络用户页面bug:在行 1. ...