51 lines
1.1 KiB
Bash
51 lines
1.1 KiB
Bash
#!/bin/bash
|
|
|
|
# 更新密码的函数
|
|
update_password() {
|
|
local CONFIG_FILE="${1}"
|
|
|
|
if [[ -z "$CONFIG_FILE" ]]; then
|
|
echo "[Error] config_file配置文件路径 不能为空"
|
|
return 1
|
|
fi
|
|
|
|
# 生成一个长度为16的随机密码
|
|
local NEW_PASSWORD
|
|
NEW_PASSWORD=$(gen_password 16)
|
|
|
|
# 修改密码
|
|
sed -i 's/你的密码/'"$NEW_PASSWORD"'/g' "$CONFIG_FILE"
|
|
|
|
echo "设置密码成功"
|
|
}
|
|
|
|
# 更新混淆密码
|
|
update_obfs_password() {
|
|
local CONFIG_FILE="${1}"
|
|
|
|
if [[ -z "$CONFIG_FILE" ]]; then
|
|
echo "[Error] config_file配置文件路径 不能为空"
|
|
return 1
|
|
fi
|
|
|
|
# 生成一个长度为16的随机密码
|
|
local NEW_PASSWORD
|
|
NEW_PASSWORD=$(gen_password 16)
|
|
|
|
# 修改密码
|
|
sed -i 's/你的混淆密码/'"$NEW_PASSWORD"'/g' "$CONFIG_FILE"
|
|
|
|
echo "设置密码成功"
|
|
}
|
|
|
|
# 生成密码
|
|
gen_password() {
|
|
local PASS_LENGTH=$1 # 密码长度作为第一个参数
|
|
local CHARS='[:alnum:]' # 只允许出现字母和数字
|
|
|
|
local RAND
|
|
RAND=$(< /dev/urandom tr -dc "$CHARS" | head -c "$PASS_LENGTH")
|
|
|
|
echo "$RAND"
|
|
}
|