本文目录导读:

Python 脚本生成
基础用户名生成器
import random
import string
def generate_username(length=8):
# 小写字母 + 数字
chars = string.ascii_lowercase + string.digits
username = ''.join(random.choice(chars) for _ in range(length))
return username
def generate_account(prefix="user"):
# 带前缀的用户名
suffix = ''.join(random.choices(string.digits, k=6))
return f"{prefix}_{suffix}"
def generate_random_email():
# 生成随机邮箱
username = generate_username(10)
domains = ['gmail.com', 'outlook.com', 'yahoo.com', '163.com']
domain = random.choice(domains)
return f"{username}@{domain}"
# 批量生成
for i in range(10):
print(f"用户{i+1}: {generate_account()}, 邮箱: {generate_random_email()}")
高级账号生成器
import random
import string
from datetime import datetime
class AccountGenerator:
def __init__(self):
self.adjectives = ['happy', 'cool', 'smart', 'fast', 'blue', 'red', 'gold', 'wild']
self.nouns = ['tiger', 'eagle', 'wolf', 'bear', 'lion', 'fox', 'hawk', 'shark']
def generate_username(self, style='random'):
if style == 'random':
return self._random_name()
elif style == 'adjectives':
return self._adjective_name()
elif style == 'pattern':
return self._pattern_name()
def _random_name(self):
# 完全随机
chars = string.ascii_lowercase + string.digits
return ''.join(random.choices(chars, k=8))
def _adjective_name(self):
# 形容词+名词组合
adj = random.choice(self.adjectives)
noun = random.choice(self.nouns)
num = random.randint(10, 999)
return f"{adj}{noun}{num}"
def _pattern_name(self):
# 带时间戳的模式
timestamp = datetime.now().strftime("%m%d")
letters = ''.join(random.choices(string.ascii_lowercase, k=4))
return f"{letters}{timestamp}"
# 使用示例
generator = AccountGenerator()
print(generator.generate_username('adjectives'))
print(generator.generate_username('pattern'))
JavaScript 版本
// Node.js 版本
const crypto = require('crypto');
class AccountGenerator {
constructor() {
this.prefixes = ['test', 'demo', 'dev', 'qa', 'prod'];
this.suffixes = ['admin', 'user', 'guest', 'vip', 'member'];
}
generateUsername(length = 8) {
const chars = 'abcdefghijklmnopqrstuvwxyz0123456789';
let username = '';
for (let i = 0; i < length; i++) {
username += chars.charAt(Math.floor(Math.random() * chars.length));
}
return username;
}
generateEmail(username) {
const domains = ['gmail.com', 'outlook.com', 'test.com', 'demo.com'];
const domain = domains[Math.floor(Math.random() * domains.length)];
return `${username}@${domain}`;
}
batchGenerate(count = 100) {
const accounts = [];
for (let i = 0; i < count; i++) {
const username = this.generateUsername();
accounts.push({
username: username,
email: this.generateEmail(username),
password: crypto.randomBytes(8).toString('hex'),
created_at: new Date().toISOString()
});
}
return accounts;
}
}
// 使用
const gen = new AccountGenerator();
const accounts = gen.batchGenerate(5);
console.log(accounts);
Bash/Shell 脚本
#!/bin/bash
# 生成随机账号函数
generate_account() {
local length=${1:-8}
# 使用 /dev/urandom 生成随机字符串
local username=$(tr -dc 'a-z0-9' < /dev/urandom | head -c $length)
# 生成随机邮箱
local domains=("gmail.com" "outlook.com" "yahoo.com" "test.com")
local domain=${domains[$RANDOM % ${#domains[@]}]}
echo "$username@$domain"
}
# 批量生成
generate_batch() {
local count=${1:-10}
echo "生成 $count 个账号:"
echo "-------------------"
for i in $(seq 1 $count); do
local account=$(generate_account)
echo "账号 $i: $account"
done
}
# 带前缀的账号
generate_prefix_account() {
local prefix=${1:-"user"}
local suffix=$(date +%s | tail -c 6)
echo "${prefix}${suffix}"
}
# 使用示例
generate_batch 5
echo ""
echo "带前缀的账号: $(generate_prefix_account test)"
完整示例:批量账号生成器
import random
import string
import json
from datetime import datetime
class BatchAccountGenerator:
def __init__(self):
self.config = {
'username_length': 8,
'password_length': 12,
'include_numbers': True,
'include_special_chars': False
}
def generate_password(self, length=None):
if length is None:
length = self.config['password_length']
chars = string.ascii_letters + string.digits
if self.config['include_special_chars']:
chars += string.punctuation
return ''.join(random.choices(chars, k=length))
def generate_accounts(self, count=100, output_format='json'):
accounts = []
for i in range(count):
# 生成用户名
username = self._generate_unique_username()
# 生成邮箱
email = self._generate_email(username)
# 生成密码
password = self.generate_password()
account = {
'id': i + 1,
'username': username,
'email': email,
'password': password,
'created_at': datetime.now().isoformat()
}
accounts.append(account)
return accounts
def _generate_unique_username(self):
# 组合多个模式
patterns = [
lambda: ''.join(random.choices(string.ascii_lowercase, k=6)) + str(random.randint(10, 99)),
lambda: ''.join(random.choices(string.ascii_lowercase, k=4)) + str(int(datetime.now().timestamp()) % 10000),
lambda: 'user_' + ''.join(random.choices(string.digits, k=8))
]
return random.choice(patterns)()
def _generate_email(self, username):
domains = ['gmail.com', 'outlook.com', 'yahoo.com',
'test.com', 'demo.com', 'example.com']
return f"{username}@{random.choice(domains)}"
def export_to_file(self, accounts, filename='accounts.json'):
with open(filename, 'w') as f:
json.dump(accounts, f, indent=2)
print(f"已导出 {len(accounts)} 个账号到 {filename}")
# 使用示例
generator = BatchAccountGenerator()
accounts = generator.generate_accounts(10)
# 打印前5个
for acc in accounts[:5]:
print(f"用户名: {acc['username']:20s} | 邮箱: {acc['email']:30s} | 密码: {acc['password']}")
# 导出到文件
generator.export_to_file(accounts)
注意事项
- 安全检查:生成的账号只应用于测试环境
- 唯一性:批量生成时注意检查重复
- 合规性:遵守平台服务条款,勿用于恶意用途
这些脚本可以根据需求调整参数,生成符合特定格式的随机账号。