Skip to main content

Windows BCrypt 加密安全随机数C扩展,与secrets接口完全一致

Project description

token-gen-win

Windows平台专用高性能C扩展,基于系统原生 BCrypt API 实现加密安全随机数,完整复刻Python标准库 secrets 常用接口,性能优于原生Python实现。

平台限制

仅支持 Windows 系统 Linux / macOS 无系统BCrypt依赖库,无法编译、安装。

功能列表

完全对齐标准库 secrets 接口:

  • token_bytes():生成随机字节串
  • token_hex():生成十六进制随机令牌
  • token_urlsafe():生成URL安全随机令牌
  • randbelow():生成指定上界安全随机整数
  • randbits():生成指定比特位随机数
  • choice():从序列随机选取元素
  • shuffle():原地随机打乱序列

安装方式

pip install token-gen

快速使用

import token_gen

# 生成各类安全令牌
print(token_gen.token_urlsafe())
print(token_gen.token_hex(16))
print(token_gen.token_bytes(32))

# 随机数工具
print(token_gen.randbelow(1000))
print(token_gen.randbits(12))

# 序列操作
lst = [1,2,3,4,5]
print(token_gen.choice(lst))
token_gen.shuffle(lst)
print(lst)

注意事项

  1. 基于栈分配实现,不支持超大长度随机数生成(建议单次长度不超过1024),避免栈溢出
  2. 长期后台运行存在轻微BCrypt句柄残留,短期脚本使用无任何影响

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

secplus-0.1.0.tar.gz (5.0 kB view details)

Uploaded Source

File details

Details for the file secplus-0.1.0.tar.gz.

File metadata

  • Download URL: secplus-0.1.0.tar.gz
  • Upload date:
  • Size: 5.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.13

File hashes

Hashes for secplus-0.1.0.tar.gz
Algorithm Hash digest
SHA256 8ddae027d0c87b7506cc8e42fd247ca75c7b456f0d48ced1c15a730f28e8b477
MD5 73fe21a6ec76907093b148f32f10ddd2
BLAKE2b-256 8abe18ff9031e078ff1ac7fa0e2ace1626dadb190ef1abc3a0fa38fc27552b89

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page