linux加密算法命令,Linux-编写SHELL 加密解密方法(示例代码)

Linux-编写SHELL 加密解密方法

我们在编写SHELL脚本时,有时候需要填写密码到脚本里,比如mysql备份脚本,这时我们就需要一个脚本加密解密的方法了,我使用GO语音执行Linux命令加密解密。脚本调用go脚本。

一. 使用bash64 加密 解密

1.加密

[root@izbp14ot0ykf8wyktz0kwgz ~]# echo "我是密码" | base64

20200624220138955039.png

2.解密

[root@izbp14ot0ykf8wyktz0kwgz ~]# echo "5oiR5piv5a+G56CBCg==" | base64 -d

20200624220139106412.png

二.使用AES128-ECB方式加密

1.加密

[root@izbp14ot0ykf8wyktz0kwgz ~]# echo "我是密码" | openssl aes-128-cbc -k 123456 -base64       #123456是密钥

20200624220139206026.png

2.解密

[root@izbp14ot0ykf8wyktz0kwgz ~]# echo "U2FsdGVkX19tE1MwP3umI3tAkljZT+3nMXtsAL+/Qb4=" | openssl aes-128-cbc -d -k 123456 -base64   #123456是密钥

20200624220139306615.png

三.编写go脚本

1.需要提前把密文和秘钥配置到代码里面

package main

import (

"fmt"

"os"

"os/exec"

)

var s = "Solution"

var shell = `echo U2FsdGVkX1+RnCGFeTk3AMnaXvJ1Y8ItEEMwGB8H1Qw= | openssl aes-128-cbc -d -k qwe -base64`

func main() {

if len(os.Args) > 1 {

s = os.Args[1]

}

cmd := exec.Command("/bin/bash", "-c", shell)

// 执行命令,并返回结果

output, err := cmd.Output()

if err != nil {

panic(err)

}

// 因为结果是字节数组,需要转换成string

fmt.Printf(string(output))

}

2.打包为linux可执行文件

1.设置环境

set GOARCH=amd64

set GOOS=linux

2.打包

go build ShellPS.go

3.上传到linux服务器,并赋予可执行权限

chmod 755 ShellPS

4.脚本调用

#!/bin/bash

Spasswd=`/root/ShellPS`

echo"密码: $Spasswd"

20200624220139387673.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值