golang sha256 加密演算法

2021-08-20 10:41:45 字數 992 閱讀 5543

package main

import(

"fmt"

"crypto/sha256"

"io"

"log"

"os"

)func main()

// 對檔案加密

f, err := os.open("test.txt")

if err != nil

defer f.close()

h = sha256.new()

if _, err := io.copy(h, f); err != nil

fmt.printf("%x\n", h.sum(nil))

sha-256 演算法輸入報文的最大長度不超過2^64 bit,輸入按512-bit 分組進行處理,產生的輸出是乙個256-bit 的報文摘要。

var

_k = uint32

for i := 0; i < 16; i++ 

for i := 16; i < 64; i++

for i := 0; i < 64; i++ 

h0 += a

h1 += b

h2 += c

h3 += d

h4 += e

h5 += f

h6 += g

h7 += h

生成256-bit的報文摘要所有的512-bit分組處理完畢後,對於sha-256演算法最後乙個分組產生的輸出便是256-bit的報文摘要。

dig.h[0], dig.h[1], dig.h[2], dig.h[3], dig.h[4], dig.h[5], dig.h[6], dig.h[7] = h0, h1, h2, h3, h4, h5, h6, h7

什麼是256位加密

256位加密,是ssl證書中重要的部分。通常,ssl中使用的加密演算法是指不對稱加密,即使用兩把完全不同但又是完全匹配的一對鑰匙 公鑰和私鑰。在使用不對稱加密演算法加密檔案時,只有使用匹配的一對公鑰和私鑰,才能完成對明文的加密和解密過程。在實際應用中,資料加密並非是通過非對稱加密完成的,而是對稱加密...

iOS SHA256加密 RSA公鑰加密

這兩天公司有這樣兩個需求,乙個是從前端 h5 互動,獲取到乙個字串,要求對這個字串進行,sha256計算摘要 也相當於加密 之後得到的是uint8 t型別的位元組陣列,然後對位元組陣列進行rsa公鑰加密。在base64編碼,返回給前端 h5 ios也是前端 最終資料還是給後台。另乙個需求就是 公鑰驗...

MD5加密 SHA256加密 RSA加密

rsa加密 md5加密 1 md5加密較為可靠,需要引入commons codec 1.9.jar 2 md5加密不可逆,也就是加密後不能再根據加密的秘鑰去解密,網上md5解密實際上是暴力破解。如果需要可逆的話,請選擇des aes 異或 凱撒 rsa等。3 md5加密可以實現任何物件加密,這就決定...