Go语言对字符串进行SHA1哈希运算的方法_Golang

本文实例讲述了Go语言对字符串进行SHA1哈希运算的方法。分享给大家供大家参考。具体如下:

复制代码 代码如下:

package main
import (
 "fmt"
 "crypto/md5"
 "crypto/sha1"
 "io"
)
//对字符串进行MD5哈希
func a(data string) string {
 t := md5.New();
 io.WriteString(t,data);
 return fmt.Sprintf("%x",t.Sum(nil));
}
//对字符串进行SHA1哈希
func b(data string) string {
 t := sha1.New();
 io.WriteString(t,data);
 return fmt.Sprintf("%x",t.Sum(nil));
}
func main(){
 var data string = "abc";
 fmt.Printf("MD5 : %s\n",a(data));
 fmt.Printf("SHA1 : %s\n",b(data));
}

输出结果如下:

复制代码 代码如下:

D:\workspace\golang>GetMd5AndSha1.exe
MD5 : 900150983cd24fb0d6963f7d28e17f72
SHA1 : a9993e364706816aba3e25717850c26c9cd0d89d

希望本文所述对大家的Go语言程序设计有所帮助。

时间: 2016-03-03

Go语言对字符串进行SHA1哈希运算的方法_Golang的相关文章

Go语言调用其它程序并获得程序输出的方法_Golang

本文实例讲述了Go语言调用其它程序并获得程序输出的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: package main import (     "exec" // "os/exec" in go1     "fmt" ) func main(){     cmd := exec.Command("ls", "-l")     buf, err := cmd.Output()   

Go语言使用组合的方式实现多继承的方法_Golang

本文实例讲述了Go语言使用组合的方式实现多继承的方法.分享给大家供大家参考.具体实现方法如下: 在大多数面向对象的编程语言中多继承都是不支持的.因为在基于class的体系中,多继承极大地增加了编译器的复杂性. Go语言使用组合的方式实现继承,因此也可以很简单的实现多继承. 复制代码 代码如下: //使用组合的方式实现多继承  type Phone struct{}    func (p *Phone) Call() string {      return "Ring Ring"  }

Go语言RPC Authorization进行简单ip安全验证的方法_Golang

本文实例讲述了Go语言RPC Authorization进行简单ip安全验证的方法.分享给大家供大家参考.具体分析如下: 前言:写网络服务,总要考虑安全机制,对ip和网段进行判断是最简单的一个验证机制.之后想做一个类似注册式的安全验证机制,既可以减少配置文件的麻烦,又可以很好的进行安全管理. 直接上代码: 复制代码 代码如下: package main import(     "net"     "fmt"     "time"     &quo

Go语言算法之寻找数组第二大元素的方法_Golang

本文实例讲述了Go语言算法之寻找数组第二大元素的方法.分享给大家供大家参考.具体如下: 该算法的原理是,在遍历数组的时,始终记录当前最大的元素和第二大的元素.示例代码如下: 复制代码 代码如下: package demo01    import (      "fmt"  )    func NumberTestBase() {      fmt.Println("This is NumberTestBase")        nums := []int{12, 2

Go语言中函数的参数传递与调用的基本方法_Golang

按值传递函数参数,是拷贝参数的实际值到函数的形式参数的方法调用.在这种情况下,参数在函数内变化对参数不会有影响. 默认情况下,Go编程语言使用调用通过值的方法来传递参数.在一般情况下,这意味着,在函数内码不能改变用来调用所述函数的参数.考虑函数swap()的定义如下. 复制代码 代码如下: /* function definition to swap the values */ func swap(int x, int y) int {    var temp int    temp = x /

c语言-C语言反转字符串输出,要求使用递归算法实现。

问题描述 C语言反转字符串输出,要求使用递归算法实现. C语言反转字符串输出,要求使用递归算法实现.不用递归很简单,可是用递归怎么实现呢? 解决方案 #include <stdio.h> void foo(char * s) { if (*s != '') foo(s + 1); printf("%c", (char)*s); } int main() { char s[] = "hello world"; foo(s); } 解决方案二: #inclu

c语言实现字符串逆序

面试经常会遇到的题,C语言实现字符串逆序.如输入"abcd",输出"dcba". 最近自己整理了一下,下面代码已经过测试. #define Max 200 main() { char str[Max]; printf("请输入字符串:"); gets(str); int len=0; char *strlen=str; char *left=str; char temp; while(*strlen++)len++; strlen-=2;//这里

用C语言实现字符串替换功能

下面是用C语言实现字符串替换功能的代码: char *replace(char *source, char *sub, char *rep) { char *result; /*pc1 是复制到结果result的扫描指针*/ /*pc2 是扫描 source 的辅助指针*/ /*pc3 寻找子串时,为检查变化中的source是否与子串相等,是指向sub的扫描指针 */ /*找到匹配后,为了复制到结果串,是指向rep的扫描指针*/ char *pc1, *pc2, *pc3; int isourc

Swift语言指南(十) Swift语言的字符串与字符

字符串是一段字符的有序集合,如"hellow,world"或"信天翁".Swift 中的字符串由 String 类型表示,对应着 Character 类型值的集合. Swift 中的 String 类型为你的编程提供了一个高速的,兼容 Unicode规范 的文本处理方式.Swift 创建和处理字符串的语法轻量可读,与 C 语言的字符串语法颇为相似.字符串的拼接非常简单,只需将两个字符串用 + 运算符相加.字符串的值是否可变取决于其为常量还是变量,这一点与 Swift