Public Access
Version 0.1.0 #3
+12
-18
@@ -6,32 +6,26 @@ import (
|
|||||||
"github.com/spf13/cobra"
|
"github.com/spf13/cobra"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
const defaultKeySize = 32
|
||||||
|
|
||||||
|
var keySize int
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
newCmd.AddCommand(keyCmd)
|
rootCmd.AddCommand(keyCmd)
|
||||||
|
keyCmd.Flags().IntVar(&keySize, "size", defaultKeySize, "Length of the generated key")
|
||||||
}
|
}
|
||||||
|
|
||||||
var size int
|
|
||||||
var defaultSize = 32
|
|
||||||
|
|
||||||
var keyCmd = &cobra.Command{
|
var keyCmd = &cobra.Command{
|
||||||
Use: "key [size]",
|
Use: "key",
|
||||||
Short: "Generate a new cryptographic key",
|
Short: "Generate a new cryptographic key",
|
||||||
Long: `Generate a new cryptographic key for use in Draft projects.`,
|
Long: `Generate a new cryptographic key for use in Draft projects.`,
|
||||||
Run: func(cmd *cobra.Command, args []string) {
|
Run: func(cmd *cobra.Command, args []string) {
|
||||||
var keyLength int
|
if cmd.Flags().Changed("size") && keySize < defaultKeySize {
|
||||||
if cmd.Flags().Lookup("size").Changed {
|
fmt.Printf("❌ Key size must be at least %d for adequate security.\n", defaultKeySize)
|
||||||
keyLength = size
|
return
|
||||||
} else {
|
|
||||||
keyLength = defaultSize
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if keyLength <= 32 {
|
key := randomString(keySize)
|
||||||
fmt.Println("Warning: It is recommended to use a key size greater than 32 for better security.")
|
fmt.Println("Generated Key:", key)
|
||||||
fmt.Println("Generating a key of default size:", defaultSize)
|
|
||||||
keyLength = defaultSize
|
|
||||||
}
|
|
||||||
|
|
||||||
key := randomString(keyLength)
|
|
||||||
println("Generated Key:", key)
|
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
Reference in new issue
Block a user