view 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
line wrap: on
line source

/*
 crypto.go  : crypto-program.
 Version    : 0.0
 Last Change: 2018-09-30 Sun 16:47:45.

 install to: rsearcher_root/
             server_root/
*/
package main

import (
	"crypto/sha256"
	"fmt"
	"flag"
	"os"
)

func main() {
	salt := flag.String( "s", "#!@-", "salt." )
	enca := flag.String( "a", "", "encrypt plaintext." )
	encb := flag.String( "b", "", "encrypt csv-file." )
	coll := flag.String( "c", "", "collate user/password." )

	decr := flag.String( "d", "", "deecrypt hhs." )
	encr := flag.String( "e", "", "encrypt hhs." )
	chdb := flag.String( "f", "", "collate hhs." )
	chhs := flag.String( "g", "", "collate hhs." )

	flag.Parse()

	if *enca != "" {
		buf := *salt + enc_sha256( *enca ) + *salt
		fmt.Println( enc_sha256( buf ) )
		os.Exit( 0 )	// done.
	}

	if *encb != "" {
		r := csv.NewReader(strings.NewReader(in))
		for {
			record, err := r.Read()
			if err == io.EOF {
				break
			}
			if err != nil {
				log.Fatal( err )
			}
			buf := *salt + enc_sha256( record[1] ) + *salt
			fmt.Println( record[0], ",", enc_sha256( buf ) )
		}
	}

	if *coll != "" {
	}

	if *decr != "" {
	}

	if *encr != "" {
	}

	if *chdb != "" && *chhs != "" {
	}

	fmt.Fprintf( os.Stderr, "bad argument\n" )
	os.Exit( 1 )
}

func enc_sha256( text string ) string {
	h := sha256.New()
	h.Write( []byte( text ) )
	return fmt.Sprintf( "%x", h.Sum( nil ) )
}

func encrypt( text string ) []byte {
	return nil
}