
处理Web应用中存储的敏感数据(如密码哈希、个人身份信息),需从数据全生命周期(存储、传输、使用、删除)管理,通过数据加密(AES-256等)、数据脱敏(部分信息隐藏)、访问控制(RBAC)等技术,结合360安全卫士/浏览器的本地加密存储、密钥管理(HSM)、沙箱隔离等机制,显著降低泄露风险,保护用户隐私。
老师:咱们先拆解三个核心技术,别空谈理论。
| 方法 | 定义 | 特性 | 使用场景 | 注意点 |
|---|---|---|---|---|
| 数据加密 | 对敏感数据加密存储/传输 | 需密钥,解密后可恢复 | 密码、支付信息、PII存储 | 密钥安全是关键,需定期轮换 |
| 数据脱敏 | 部分隐藏敏感信息 | 不可逆或部分可逆 | 显示密码、展示PII(如手机号) | 脱敏粒度需平衡安全与可用性 |
| 访问控制 | 限制数据访问权限 | 基于角色/策略 | 后端数据库、API接口 | 策略需动态更新,遵循最小权限 |
伪代码示例(存储密码哈希的加密与验证,含密钥轮换触发):
# 存储时:加密哈希(密钥轮换触发)
def store_password(user_id, password):
aes_key = get_secure_key() # 从HSM获取密钥,支持密钥轮换
hashed = sha256(password) # 先哈希
encrypted_hash = encrypt(hashed, aes_key) # 加密哈希
save_to_db(user_id, encrypted_hash) # 存入数据库
# 密钥轮换触发(时间或事件触发)
def renew_key():
new_key = hsm.generate_key() # 从HSM生成新密钥
update_key_store(new_key) # 更新密钥库,旧密钥失效
# 请求时:解密后哈希比对
def verify_password(user_id, input_password):
encrypted_hash = get_from_db(user_id) # 从数据库获取加密哈希
aes_key = get_secure_key() # 从HSM获取密钥
decrypted_hash = decrypt(encrypted_hash, aes_key) # 解密
if sha256(input_password) == decrypted_hash:
return "登录成功"
return "失败"
请求示例(用户登录):
面试官您好,处理Web应用中存储的敏感数据(如密码哈希、个人身份信息),核心是通过数据加密、数据脱敏、访问控制结合360的安全技术。具体来说: