diff --git a/main.go b/main.go index b53c9f3..620c4b8 100644 --- a/main.go +++ b/main.go @@ -15,13 +15,15 @@ func init() { } func main() { + psyfer.ReadConfig() + psyfer.Substitution("hello") var input string var cipher string var cipType string var key string var encrypt = &cobra.Command{ - Use: "encrypt [cipher] [key] [input]", + Use: "encrypt -c [cipher] -k [key] -i [input]", Short: "encrypt string", Long: `encrypt given string`, Run: func(cmd *cobra.Command, args []string) { @@ -52,7 +54,7 @@ func main() { } var decrypt = &cobra.Command{ - Use: "decrypt [cipher] [key] [input]", + Use: "decrypt -c [cipher] -k [key] -i [input]", Short: "decrypt string", Long: `decrypt given string`, Run: func(cmd *cobra.Command, args []string) { diff --git a/psyfer/substitution.go b/psyfer/substitution.go index cd04804..ac10d49 100644 --- a/psyfer/substitution.go +++ b/psyfer/substitution.go @@ -1,4 +1,36 @@ package psyfer -func ReadConfig() { +import ( + "encoding/json" + "fmt" + "io/ioutil" + "log" +) + +type KeyJSON struct { + Key map[string]string `json:"key"` +} + +var k = KeyJSON{} + +func ReadConfig() { + dat, err := ioutil.ReadFile("key.json") + if err != nil { + log.Fatal(err) + } + json.Unmarshal([]byte(dat), &k) + fmt.Println(k.Key["a"]) +} + +func Substitution(input string) string { + inputSlice := []string{} + output := "" + for _, char := range input { + inputSlice = append(inputSlice, string(char)) + } + for i := range inputSlice { + output += k.Key[inputSlice[i]] + } + fmt.Println(output) + return output }