网页保护用户 小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}")  
相关推荐
椰萝Yerosius11 分钟前
[题解]2023CCPC黑龙江省赛 - Folder
算法
wang__123001 小时前
力扣2680题解
算法·leetcode·职场和发展
GGBondlctrl2 小时前
【leetcode】《BFS扫荡术:如何用广度优搜索征服岛屿问题》
算法·leetcode·bfs·宽度优先·图像渲染·岛屿的数量·被围绕的区域
容辞6 小时前
算法-贪婪算法
算法·贪心算法
Evand J6 小时前
MATLAB程序演示与编程思路,相对导航,四个小车的形式,使用集中式扩展卡尔曼滤波(fullyCN-EKF)
人工智能·算法
椰萝Yerosius8 小时前
[题解]2023CCPC黑龙江省赛 - Ethernet
算法·深度优先
IT猿手8 小时前
基于 Q-learning 的城市场景无人机三维路径规划算法研究,可以自定义地图,提供完整MATLAB代码
深度学习·算法·matlab·无人机·强化学习·qlearning·无人机路径规划
竹下为生10 小时前
LeetCode --- 448 周赛
算法·leetcode·职场和发展
未名编程10 小时前
LeetCode 88. 合并两个有序数组 | Python 最简写法 + 实战注释
python·算法·leetcode
Cuit小唐10 小时前
C++ 迭代器模式详解
c++·算法·迭代器模式