minio/cmd/crypto/crypto-options.go

128 lines
2.3 KiB
Go
Raw Normal View History

/*
* Mini Object Storage, (C) 2014 Minio, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package main
import (
"fmt"
"log"
"os"
"github.com/codegangsta/cli"
2014-12-29 19:35:56 -05:00
"github.com/minio-io/minio/pkg/crypto/md5"
"github.com/minio-io/minio/pkg/crypto/sha1"
"github.com/minio-io/minio/pkg/crypto/sha256"
"github.com/minio-io/minio/pkg/crypto/sha512"
)
var Options = []cli.Command{
Md5sum,
Sha1sum,
// Sha1sumFast, // TODO
Sha256sum,
Sha512sum,
}
var Md5sum = cli.Command{
Name: "md5sum",
Usage: "",
Description: `
`,
Action: doMd5sum,
}
var Sha1sum = cli.Command{
Name: "sha1sum",
Usage: "",
Description: `
`,
Action: doSha1sum,
}
/* TODO
var Sha1sumFast = cli.Command{
Name: "sha1sum-fast",
Usage: "",
Description: `
`,
Action: doSha1sumFast,
}
*/
var Sha256sum = cli.Command{
Name: "sha256sum",
Usage: "",
Description: `
`,
Action: doSha256sum,
}
var Sha512sum = cli.Command{
Name: "sha512sum",
Usage: "",
Description: `
`,
Action: doSha512sum,
}
func doMd5sum(c *cli.Context) {
hash, err := md5.Sum(os.Stdin)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%x", hash)
}
func doSha1sum(c *cli.Context) {
hash, err := sha1.Sum(os.Stdin)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%x", hash)
}
/* TODO
func doSha1sumFast(c *cli.Context) {
buffer, err := ioutil.ReadAll(os.Stdin)
if err != nil {
log.Fatal(err)
}
hash, err := sha1.Sha1(buffer)
if err != nil {
log.Fatal(err)
}
var bytesBuffer bytes.Buffer
binary.Write(&bytesBuffer, binary.LittleEndian, hash)
fmt.Printf("%x", bytesBuffer.Bytes())
}
*/
func doSha256sum(c *cli.Context) {
hash, err := sha256.Sum(os.Stdin)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%x", hash)
}
func doSha512sum(c *cli.Context) {
hash, err := sha512.Sum(os.Stdin)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%x", hash)
}