Week11 作业 1
python 验证密码
造成系统不可用的原因:非计划性宕机和计划性宕机两大类,其中,非计划性宕机主要是由计算机故障或数据故障引起的;计划性宕机主要是由于生产系统的数据改变或系统改变引起的。非计划性宕机非计划性宕机主要包括主机宕机、数据故障宕机、存储故障、人为错误、数据损坏、站点故障等。
保障系统高可用的方案: 完善基础,做好自身,容错下游,防备上游。包括监控(量化过去和现在),压测(预测未来),降级(预防故障,快速止损);多数据中心和集群;
import os, base64from hashlib import sha256from hmac import HMACdef encrypt_password(password, salt=None): """Hash password on the fly.""" if salt is None: salt = os.urandom(8) # 64 bits. assert 8 == len(salt) assert isinstance(salt, bytes) assert isinstance(password, str) if isinstance(password, str): password = password.encode('UTF-8') assert isinstance(password, bytes) result = password for i in range(10): result = HMAC(result, salt, sha256).digest() return salt + resultdef validate_password(hashed, input_password): return hashed == encrypt_password(input_password, salt=hashed[:8])if __name__ == "__main__": hashed = encrypt_password('secret password') assert validate_password(hashed, 'secret password') print (hashed) print (base64.b64encode(hashed)) print (base64.b64decode(base64.b64encode(hashed)))
python 验证密码
造成系统不可用的原因:非计划性宕机和计划性宕机两大类,其中,非计划性宕机主要是由计算机故障或数据故障引起的;计划性宕机主要是由于生产系统的数据改变或系统改变引起的。非计划性宕机非计划性宕机主要包括主机宕机、数据故障宕机、存储故障、人为错误、数据损坏、站点故障等。
保障系统高可用的方案: 完善基础,做好自身,容错下游,防备上游。包括监控(量化过去和现在),压测(预测未来),降级(预防故障,快速止损);多数据中心和集群;
还未添加个人签名 2019.06.12 加入
还未添加个人简介
促进软件开发及相关领域知识与创新的传播
评论