网页保护用户 小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}")  
相关推荐
一条大祥脚14 分钟前
ABC460贪心|多源BFS|数论|计数|线段树|树的直径
算法·宽度优先
小欣加油24 分钟前
leetcode121买卖股票的最佳时机
数据结构·c++·算法·leetcode·职场和发展
暖阳华笺1 小时前
【高频考点】K-Means聚类算法
c++·算法·机器学习·kmeans·聚类
下午写HelloWorld1 小时前
后量子密码算法:协同签名研究综述
算法·密码学·后量子·协同签名
小蒋学算法1 小时前
算法-计算右侧小于当前元素的个数-分治&归并思想
java·数据结构·算法
lqqjuly1 小时前
FlashAttention 深度解析
人工智能·深度学习·算法
满怀冰雪1 小时前
第05篇-滑动窗口算法-一套模板解决子串与子数组问题
java·算法
叫我:松哥1 小时前
基于LSTM与ARIMA的城市空气质量分析与预测系统
人工智能·python·rnn·算法·机器学习·flask·lstm
j7~1 小时前
【C++】模板初阶--函数模板,类模板详解
数据结构·c++·算法·函数模板·类模板·函数模板实例化
IT策士1 小时前
Redis 从入门到精通:数据结构Hash 与 List
数据结构·redis·哈希算法