当前位置: 首页 > wzjs >正文

微网站免费创建平台百度云下载

微网站免费创建平台,百度云下载,酒泉建设局网站,企业信息查询平台企多维简介 在Shell脚本中实现RSA加密解密功能,可以使用多种工具,例如openssl。openssl是一个强大的命令行工具,用于执行SSL和TLS协议中的各种任务,同时也支持非对称加密。 生成公钥 #!/bin/bash # 生成密钥对(2048位&…

简介

       在Shell脚本中实现RSA加密解密功能,可以使用多种工具,例如opensslopenssl是一个强大的命令行工具,用于执行SSL和TLS协议中的各种任务,同时也支持非对称加密。

生成公钥

#!/bin/bash
# 生成密钥对(2048位)
openssl genrsa -out private.pem 2048
openssl rsa -in private.pem -pubout -out public.pem

加密脚本

#!/bin/bash
# 安全配置
PUBLIC_KEY_PATH="${BASH_SOURCE%/*}/public.pem"
OUTPUT_FILE="${BASH_SOURCE%/*}/encrypted_password.dat"
KEY_SIZE=2048  # RSA密钥长度validate_environment() {# 检查openssl是否可用if ! command -v openssl &>/dev/null; thenecho "错误: openssl工具未安装" >&2exit 127fi# 检查公钥文件[ ! -f "$PUBLIC_KEY_PATH" ] && {echo "错误: 公钥文件不存在: $PUBLIC_KEY_PATH" >&2echo "请先生成RSA密钥对:"echo "  openssl genrsa -out private.pem $KEY_SIZE"echo "  openssl rsa -in private.pem -pubout -out public.pem"exit 1}
}# 安全读取密码
read_password() {read -rsp "请输入要加密的密码: " PASSWORDecho >&2echo "$PASSWORD"
}main() {validate_environmentlocal passwordpassword=$(read_password)# 加密操作if echo "$password" | openssl rsautl -encrypt -oaep -pubin \-inkey "$PUBLIC_KEY_PATH" -out "$OUTPUT_FILE" 2>/dev/null; thenecho "密码加密成功!加密结果已保存到: $OUTPUT_FILE"echo "请妥善保管以下文件:"echo "  1. 加密文件: $OUTPUT_FILE"echo "  2. 私钥文件: ${PUBLIC_KEY_PATH%/*}/private.pem"elseecho "错误: 密码加密失败" >&2echo "可能原因:" >&2echo "  1. 公钥格式不正确" >&2echo "  2. 密码长度超过RSA密钥限制" >&2exit 1fi
}main "$@"

解密脚本

#!/bin/bash
# 安全配置
PRIVATE_KEY_PATH="./private.pem"
ENCRYPTED_PASS_FILE="./encrypted_password.dat"
LOG_FILE="./log.log"
# 增强型解密函数
# 使用openssl解密密码
decrypt_to_string() {[ ! -r "$PRIVATE_KEY_PATH" ] && {echo "错误: 私钥文件不可读: $PRIVATE_KEY_PATH" >> "$LOG_FILE"return 127}local decrypted_passif ! decrypted_pass=$(openssl rsautl -decrypt -oaep -inkey "$PRIVATE_KEY_PATH" -in "$ENCRYPTED_PASS_FILE" 2>&1); thenecho "[$(date '+%Y-%m-%d %H:%M:%S')] 解密失败: $decrypted_pass" >> "$LOG_FILE"return 1fiecho "$decrypted_pass"
}PGPASSWORD=$(decrypt_to_string)
echo "输出密码:$PGPASSWORD"
echo "$(date) $current_date proc end" >> "$LOG_FILE"

最后解析出正确的密文

总结

1、加密流程:
      使用RSA-OAEP填充模式加密;
      输入:明文密码 + RSA公钥(public.pem);
      输出:加密后的二进制文件(encrypted_password.dat);
     关键命令:openssl rsautl -encrypt -oaep -pubin -inkey public.pem;
2、解密流程:
     使用对应私钥解密;
     输入:加密文件 + RSA私钥(private.pem);
     输出:原始明文密码;
     关键命令:openssl rsautl -decrypt -oaep -inkey private.pem;
3、安全实践:
     密钥文件权限控制(私钥600);
     密码不直接显示/记录;
     使用临时文件存储解密结果;
     自动清理敏感数据;
     完善的错误处理机制;
4、典型应用场景:
     自动化脚本中的数据库密码保护;
     配置文件敏感信息加密;
     需要安全存储密码的场景;
注意:实际使用时建议结合具体安全需求,可考虑增加密码复杂度检查、密钥轮换机制等增强措施。

如果小伙伴喜欢这篇文章的话,希望给点赞收藏加关注哦!!! 感谢大家的支持!!😊🙏

http://www.dtcms.com/wzjs/497593.html

相关文章:

  • 免费的个人主页网站怎么建网站教程
  • 如何查询网站的空间网站标题seo外包优化
  • html5建设网站韩国搜索引擎排名
  • 成都网络营销公司排名收费标准搜索引擎优化培训
  • 电商网站开发 思维导图电脑培训
  • 专门做超市dm网站seo点击工具
  • 登封做网站推广怎么做百度搜索排名
  • 淘宝网站建设多少钱简述网站推广的方式
  • 做网站最好的软件网络推广合作资源平台
  • 曲靖建设委员会网站优化seo搜索
  • 做地方特产的网站最火的网络销售平台
  • 网站不可以做哪些东西如何写推广软文
  • wordpress 密码重置seo北京优化
  • 建设网站要什么手续如何查询域名注册人信息
  • ionic做网站百度知道提问首页
  • 涪陵建设工程信息网站seo难不难
  • 用wp做网站备案百度云搜索入口
  • 做网站的网址是哪里来的推广下载app拿佣金
  • 域名可以永久买断吗佛山网站优化排名推广
  • 盐山县做网站价格百度电脑版下载
  • 天津中心网站建设百度营销大学
  • 怎么样自己做网站接订单化工网站关键词优化
  • 中国各大网站排名营销100个引流方案
  • 山东网站搭建有限公司重庆seo网站哪家好
  • 南阳卧龙区高端网站建设口碑网站建设的系统流程图
  • 慈溪想做网站的公司教育培训网站设计
  • 模仿别人的网站百度输入法下载
  • 做网站用php如何学习西安百度竞价代运营
  • 望京网站建设公司网页设计工资一般多少
  • 罗湖做网站多少钱产品推广文章