Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package main
- import (
- "fmt"
- "strconv"
- "os/exec"
- "log"
- "strings"
- //"math"
- )
- func test_keys(keyset []string, worker_id int) {
- fmt.Println("Worker " + strconv.Itoa(worker_id) + " started.")
- for _, key := range keyset {
- out, err := exec.Command("/home/john/Documents/College/Fa18/'CMPEN 443'/Assignments/cmpsc443cipher/cmpsc443cipher -d -i jdh5658_vigenere_encrypted.txt -c vigenere -k " + key).Output()
- if err != nil {
- log.Fatal(err)
- } else if strings.Contains(string(out), "successfully") {
- fmt.Println("KEY HAS BEEN FOUND: " + key)
- return
- }
- }
- }
- func main() {
- keys := make([]string, 0)
- var alphabet = `ABCDEFGHIJKLMNOPQRSTUVWXYZ`
- fmt.Println("Generating keys...")
- for _, c := range alphabet {
- for _, d := range alphabet {
- for _, e := range alphabet {
- for _, f := range alphabet {
- for _, g := range alphabet {
- keys = append(keys, string(c) + string(d) + string(e) + string(f) + string(g))
- }
- }
- }
- }
- }
- fmt.Println("Key generation finished. Starting worker threads to test...")
- var partition_1 = 3960458
- var partition_2 = 7920917
- go test_keys(keys[0:partition_1], 0)
- go test_keys(keys[partition_1+1:partition_2], 1)
- go test_keys(keys[partition_2+1:len(keys)], 2)
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement