annotate go/crypto.go @ 1:eaa27e4ed5be

add client_ui.go
author pyon@macmini
date Mon, 01 Oct 2018 23:18:29 +0900
parents d3b8cd5aeb70
children db4813125eb8
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
1 /*
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
2 crypto.go : crypto-program.
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
3 Version : 0.0
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
4 Last Change: 2018-09-30 Sun 16:47:45.
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
5
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
6 install to: rsearcher_root/
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
7 server_root/
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
8 */
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
9 package main
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
10
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
11 import (
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
12 "crypto/sha256"
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
13 "fmt"
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
14 "flag"
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
15 "os"
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
16 )
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
17
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
18 func main() {
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
19 salt := flag.String( "s", "#!@-", "salt." )
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
20 enca := flag.String( "a", "", "encrypt plaintext." )
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
21 encb := flag.String( "b", "", "encrypt csv-file." )
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
22 coll := flag.String( "c", "", "collate user/password." )
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
23
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
24 decr := flag.String( "d", "", "deecrypt hhs." )
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
25 encr := flag.String( "e", "", "encrypt hhs." )
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
26 chdb := flag.String( "f", "", "collate hhs." )
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
27 chhs := flag.String( "g", "", "collate hhs." )
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
28
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
29 flag.Parse()
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
30
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
31 if *enca != "" {
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
32 buf := *salt + enc_sha256( *enca ) + *salt
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
33 fmt.Println( enc_sha256( buf ) )
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
34 os.Exit( 0 ) // done.
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
35 }
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
36
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
37 if *encb != "" {
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
38 r := csv.NewReader(strings.NewReader(in))
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
39 for {
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
40 record, err := r.Read()
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
41 if err == io.EOF {
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
42 break
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
43 }
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
44 if err != nil {
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
45 log.Fatal( err )
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
46 }
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
47 buf := *salt + enc_sha256( record[1] ) + *salt
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
48 fmt.Println( record[0], ",", enc_sha256( buf ) )
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
49 }
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
50 }
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
51
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
52 if *coll != "" {
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
53 }
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
54
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
55 if *decr != "" {
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
56 }
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
57
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
58 if *encr != "" {
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
59 }
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
60
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
61 if *chdb != "" && *chhs != "" {
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
62 }
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
63
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
64 fmt.Fprintf( os.Stderr, "bad argument\n" )
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
65 os.Exit( 1 )
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
66 }
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
67
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
68 func enc_sha256( text string ) string {
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
69 h := sha256.New()
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
70 h.Write( []byte( text ) )
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
71 return fmt.Sprintf( "%x", h.Sum( nil ) )
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
72 }
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
73
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
74 func encrypt( text string ) []byte {
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
75 return nil
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
76 }
d3b8cd5aeb70 make repo.
pyon@macmini
parents:
diff changeset
77