网页保护用户 小tips

在使用创建web开发的过程中,直接使用用户名url,容易造成用户信息的被攻击,例如对方直接访问 ../../.../username 的网页,可以窃取用户信息,然而把usename变成一堆乱码就安全的多

效果:

代码:

python 复制代码
import hashlib  
import random  

def hash_username(username):  
    # 创建一个SHA-256哈希对象  
    sha256_hash = hashlib.sha256()  
    
    # 更新哈希对象以包含所提供的用户名(需编码为字节)  
    sha256_hash.update(username.encode('utf-8'))  
    
    # 返回哈希值的十六进制表示  
    username = sha256_hash.hexdigest() 

    # 定义要添加的特殊符号  
    special_symbols = ['%', '@', '?']  
    
    # 随机选择位置和符号  
    symbol_count = random.randint(51, 63)  # 随机选择添加51到63个符号  

    result = list(username)  
    for _ in range(symbol_count):  
        pos = random.randint(0, len(result))  # 随机选择一个位置  
        symbol = random.choice(special_symbols)  # 随机选择一个符号  
        result.insert(pos, symbol)  # 插入符号  

    # 将列表转回字符串  
    return ''.join(result)  

# 示例用户名  
username = "username"  
hashed_username = (hash_username(username))

print(f"原用户名: {username}")  
print(f"哈希后的用户名: {hashed_username}")  
相关推荐
BUG收容所所长1 小时前
栈的奇妙世界:从冰棒到算法的华丽转身
前端·javascript·算法
XRZaaa1 小时前
常见排序算法详解与C语言实现
c语言·算法·排序算法
@我漫长的孤独流浪1 小时前
数据结构测试模拟题(4)
数据结构·c++·算法
智驱力人工智能1 小时前
智慧零售管理中的客流统计与属性分析
人工智能·算法·边缘计算·零售·智慧零售·聚众识别·人员计数
WindSearcher2 小时前
大模型微调相关知识
后端·算法
取酒鱼食--【余九】2 小时前
rl_sar实现sim2real的整体思路
人工智能·笔记·算法·rl_sar
Magnum Lehar4 小时前
vulkan游戏引擎test_manager实现
java·算法·游戏引擎
水蓝烟雨4 小时前
[面试精选] 0094. 二叉树的中序遍历
算法·面试精选
超闻逸事4 小时前
【题解】[UTPC2024] C.Card Deck
c++·算法
暴力求解5 小时前
C++类和对象(上)
开发语言·c++·算法