Pythonプログラミング:Python 2.7のMD 5符号化問題
4385 ワード
試験環境Python 2.7.5
1、直接MD 5を作る
2、新しい特性を導入してMD 5を作る
3、reloadの後にMD 5を作る
テストに合格する
モード
直接MD 5を作る
コードしてmd 5をする
直接MD 5を作る
a8027582770cfb7efc11f2abe75f9827
新しい特性をMD 5に導入
a8027582770cfb7efc11f2abe75f9827
reloadの後にMD 5を作ります
a8027582770cfb7efc11f2abe75f9827
a8027582770cfb7efc11f2abe75f9827
Python 3の後にMD 5を作るにはコードが必要です
新しい特性を導入してMD 5、つまり符号化してMD 5を作ることをお勧めします
1、直接MD 5を作る
# -*- coding: utf-8 -*-
import hashlib
s = '20637332019-03-29 '
md5 = hashlib.md5(s).hexdigest()
# md5 = hashlib.md5(s.encode("utf-8")).hexdigest()
# UnicodeDecodeError
print(md5)
'a8027582770cfb7efc11f2abe75f9827'
2、新しい特性を導入してMD 5を作る
# -*- coding: utf-8 -*-
from __future__ import unicode_literals, print_function
import hashlib
s = '20637332019-03-29 '
md5 = hashlib.md5(s.encode('utf-8')).hexdigest()
# md5 = hashlib.md5(s).hexdigest()
# UnicodeEncodeError
print(md5)
'a8027582770cfb7efc11f2abe75f9827'
3、reloadの後にMD 5を作る
# -*- coding: utf-8 -*-
import hashlib
import sys
reload(sys)
sys.setdefaultencoding("utf-8")
s = '20637262019-03-29 '
md51 = hashlib.md5(s).hexdigest()
md52 = hashlib.md5(s.encode("utf-8")).hexdigest()
print(md51)
print(md52)
"""
a8027582770cfb7efc11f2abe75f9827
a8027582770cfb7efc11f2abe75f9827
"""
テストに合格する
モード
直接MD 5を作る
コードしてmd 5をする
直接MD 5を作る
a8027582770cfb7efc11f2abe75f9827
UnicodeDecodeError
新しい特性をMD 5に導入
UnicodeEncodeError
a8027582770cfb7efc11f2abe75f9827
reloadの後にMD 5を作ります
a8027582770cfb7efc11f2abe75f9827
a8027582770cfb7efc11f2abe75f9827
Python 3の後にMD 5を作るにはコードが必要です
新しい特性を導入してMD 5、つまり符号化してMD 5を作ることをお勧めします