数据加密概念
数据加密
数据加密是一种将原始数据(明文)转换成看似随机、无法理解的形式(密文)的过程。加密技术主要分为两大类:对称加密和非对称加密。
-
对称加密如同一把钥匙开一把锁,加密和解密使用的是同一个密钥,就像你和搭档各持一半藏宝图,合在一起才能解读宝藏位置。
-
非对称加密则更像是一对匹配的锁和钥匙,其中一把钥匙(公钥)可以公开,用于加密;而只有另一把钥匙(私钥)才能解密,确保了信息传递过程中的保密性和身份认证。
哈希函数与消息摘要
哈希函数则更像是指纹提取机,它将任意长度的数据压缩成固定长度的唯一标识,称为消息摘要或哈希值。比如,当你在网上购物输入密码时,网站并不会直接保存你的密码,而是保存密码经过哈希后的唯一印记。这种情况下,即使数据库被攻破,攻击者拿到的也只是无法反向推导出原始密码的哈希值。
下面是一个简单的Python哈希函数使用示例,利用hashlib
库计算字符串的SHA-256摘要:
import hashlib
# 原始消息
message = "My secret password"
# 创建SHA-256哈希对象
hash_object = hashlib.sha256()
# 将消息编码并加入到哈希对象中
hash_object.update(message.encode())
# 获取哈希摘要
hashed_message = hash_object.hexdigest()
print(f"原始消息:{
message}")
print(