30 lines
		
	
	
		
			841 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			30 lines
		
	
	
		
			841 B
		
	
	
	
		
			Go
		
	
	
	
	
	
package rsa
 | 
						||
 | 
						||
import (
 | 
						||
	"archgrid.xyz/ag/tools/types"
 | 
						||
	"github.com/spf13/cobra"
 | 
						||
)
 | 
						||
 | 
						||
var (
 | 
						||
	rsaKeyLength   types.RSAKeyBits = types.RSA2048
 | 
						||
	publicKeyFile  string
 | 
						||
	privateKeyFile string
 | 
						||
)
 | 
						||
 | 
						||
var rsaCmd = &cobra.Command{
 | 
						||
	Use:              "rsa",
 | 
						||
	Short:            `RSA加密算法工具`,
 | 
						||
	Long:             `使用RSA算法对给定的内容进行加密或解密,生成RSA密钥。`,
 | 
						||
	TraverseChildren: true,
 | 
						||
}
 | 
						||
 | 
						||
func init() {
 | 
						||
	rsaCmd.PersistentFlags().VarP(&rsaKeyLength, "key-length", "l", "RSA密钥长度,可选值有:1024, 2048,缺省值为2048。")
 | 
						||
	rsaCmd.PersistentFlags().StringVarP(&publicKeyFile, "public-key", "u", "", "RSA公钥文件,用于加密。")
 | 
						||
	rsaCmd.PersistentFlags().StringVarP(&privateKeyFile, "private-key", "r", "", "RSA私钥文件,用于解密。")
 | 
						||
}
 | 
						||
 | 
						||
func GetRsaCmd() *cobra.Command {
 | 
						||
	return rsaCmd
 | 
						||
}
 |