
正文
pythonmd5函数 pythonmain函数
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
怎么用python连接mysql数据库
在 Python 语言环境下我们这样连接数据库。
In [1]: from mysql import connector
In [2]: cnx = connector.connect(host="172.16.192.100",port=3306,user="appuser",password="xxxxxx")
但是连接数据库的背后发生了什么呢?
答案
当我们通过驱动程序(mysql-connector-python,pymysql)连接 MySQL 服务端的时候,就是把连接参数传递给驱动程序,驱动程序再根据参数会发起到 MySQL 服务端的 TCP 连接。当 TCP 连接建立之后驱动程序与服务端之间会按特定的格式和次序交换数据包,数据包的格式和发送次序由 MySQL 协议 规定。MySQL 协议:整个连接的过程中 MySQL 服务端与驱动程序之间,按如下的次序发送了这些包。
MySQL 服务端向客户端发送一个握手包,包里记录了 MySQL-Server 的版本,默认的授权插件,密码盐值(auth-data)。
2. MySQL 客户端发出 ssl 连接请求包(如果有必要的话)。
3. MySQL 客户端发出握手包的响应包,这个包时记录了用户名,密码加密后的串,客户端属性,等等其它信息。
4. MySQL 服务端发出响应包,这个包里记录了登录是否成功,如果没有成功也会给出错误信息。
相关问答
Q1: 用c语言实现python的md5功能?
题中所示代码中,python实现了计算空字符串的MD5值,并对MD5的值的十六进制的字符串所表示的字节进行BASE64处理。
不像Python内部有实现md5功能,根据ANSI C标准,C语言的标准库里是没有md5功能的;
但是RFC1231规定了MD5功能的C实现并提供了附件,可以直接用,也可以直接获取现成的实现,在编译链接时指定正确的.h头文件和.lib静态链接库文件;
这里我采取前者的做法(电脑上没有装VC,有VC就简单很多,使用的是minGW)大概六七百行代码左右。
然后这里展示不完,给个实现效果图
这是我整理的实现代码,其中BASE64部分使用了github上littlestar的b64.c,然后MD5计算部分直接参考了RFC1231标准的附录。RFC1231文件有计算方法
BASE64的编码原理
Q2: python有哪些模块 md5
python的md5模块使用非常简单,包括以下几个函数:
md5.new([arg])
返回一个md5对象,如果给出参数,则相当于调用了update(arg)
md5.updte(arg)
用string参数arg更新md5对象
md5.digest()
返回16字节的摘要,由传给update的string生成,摘要没有ascii字符
md5.hexdigest()
以16进制的形式返回摘要
代码示例:
01.#!/usr/bin/python
02.import
sys
03.import
md5
04.
05.str=sys.argv[1]
06.key =
md5.new()
07.key.update(str)
08.print
key.hexdigest()
09.str=sys.argv[1]
保存代码为md.py
1.[fengyj@fengyj
python]$ chmod +x md.py
2.[fengyj@fengyj
python]$ ./md.py fengyajie
3.74d040444b8f20d37aa9b2bd2997cd64
Q3: 使用python之MD5进行加密
在许多接口,尤其涉及到金额的地方,都需要用加密算法对数据进行加密。像密码、金额之类的,如果不做加密,被篡改数据,公司的损失会很大。
这里主要说MD5加密(即摘要算法),也就是采用哈希算法,将不定长度的内容转化为32位16进制固定长度的内容。前后台都使用这套算法,再将两者的加密数据比对,如果一致说明数据加密正确,否则数据可能出现篡改。
在pyhon里,可以导入hashlib进行加密,如下
方法一:
执行结果如下图:
方法二:
执行结果如下图:
pythonmd5函数的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于pythonmain函数、pythonmd5函数的信息别忘了在本站进行查找喔。






