常用的訊息摘要演算法有
md5和
sha,這些演算法在
python和go
的庫中都有,
需要時候呼叫下就
ok了,這裡總結下
python和go
的實現。
一、python訊息摘要示例
**如下:
#! /usr/bin/python執行效果:'''file : testhash.py
author : mike
e-mail : mike_zhang@live.com
'''import hashlib
src = raw_input("input string : ")
funcnamelist = ["md5","sha1","sha224","sha256","sha384","sha512"]
funcmap =
forfuncnameinfuncnamelist :
funcname,"\t
:\t",funcmap[funcname](src)
二、go語言訊息摘要示例
**如下:
/*執行效果:file : hashtest.go
author : mike
e-mail : mike_zhang@live.com
*/packagemain
import(
"fmt"
"crypto/md5"
"crypto/sha1"
"crypto/sha256"
"crypto/sha512"
"hash"
)funcmain()
funcmap :=
map
[string
]func
(msg
byte
) hash.hash,
"sha1"
:
func
(msg
byte
) hash.hash,
"sha224"
:
func
(msg
byte
) hash.hash,
"sha256"
:
func
(msg
byte
) hash.hash,
"sha384"
:
func
(msg
byte
) hash.hash,
"sha512"
:
func
(msg
byte
) hash.hash,
}fmt.printf(
"input string : "
)var
msg1
string
fmt.scanf(
"%s"
,&msg1)
for
_,funcname :=
range
funcnamelist
}
哈哈,是不是發現上面兩組程式的**結構相同啊,其實我就是想借助python來學習go語言的:先用python很輕巧的實現乙個功能,我再考慮用go做一遍。這裡總結下,方便以後使用。
訊息摘要演算法 數字摘要
為了保證檔案或值的安全性,因為使用訊息摘要生成的值是不可篡改的 特點 準備工作 string input 訊息摘要 string algorithm md5 public static void main string args throws exception 建立乙個訊息摘要物件messaged...
訊息摘要演算法簡介
訊息摘要演算法簡介 一 什麼是訊息摘要演算法 訊息摘要演算法的主要特徵是加密過程不需要金鑰,並且經過加密的資料無法被解密,只有輸入相同的明文資料經過相同的訊息摘要演算法才能得到相同的密文。訊息摘要演算法不存在金鑰的管理與分發問題,適合於分布式網路相同上使用。由於其加密計算的工作量相當可觀,所以以前的...
Java 訊息摘要演算法
一 md5 因為在訊息摘要演算法中,md5應該最常用的,所以放在最前面。另外md家族中除了md5外,還有md2和md4,md2和md5在jdk中已經有實現,md4則是在bouncy castle有實現。public abstract class md5 catch nosuchalgorithmex...