本文实例讲述了Go语言实现AzDG可逆加密算法。分享给大家供大家参考。具体实现方法如下:
package mainimport ( "fmt" "crypto/md5" "encoding/base64" "time" )
var cipher = "密鑰" var h = md5.New()
func cipherEncode(sourceText string) string { h.Write([]byte(cipher)) cipherHash := fmt.Sprintf("%x", h.Sum(nil)) h.Reset() inputData := []byte(sourceText) loopCount := len(inputData) outData := make([]byte,loopCount) for i:= 0; i < loopCount ; i++ { outData[i] = inputData[i] ^ cipherHash[i%32] } return fmt.Sprintf("%s", outData) }
func encode(sourceText string) string { h.Write([]byte(time.Now().Format("2006-01-02 15:04:05"))) noise := fmt.Sprintf("%x", h.Sum(nil)) h.Reset() inputData := []byte(sourceText) loopCount := len(inputData) outData := make([]byte,loopCount*2) for i, j := 0,0; i < loopCount ; i,j = i+1,j+1 { outData[j] = noise[i%32] j++ outData[j] = inputData[i] ^ noise[i%32] } return base64.StdEncoding.EncodeToString([]byte(cipherEncode(fmt.Sprintf("%s", outData)))) }
func decode(sourceText string) string { buf, err := base64.StdEncoding.DecodeString(sourceText) if err != nil { fmt.Println("Decode(%q) failed: %v", sourceText, err) return "" } inputData := []byte(cipherEncode(fmt.Sprintf("%s", buf))) loopCount := len(inputData) outData := make([]byte,loopCount) for i, j := 0,0; i < loopCount ; i,j = i+2,j+1 { outData[j] = inputData[i] ^ inputData[i+1] } return fmt.Sprintf("%s", outData) }
func main() { s := encode("張學友") fmt.Println(s) fmt.Println(decode(s)) }
希望本文所述对大家的Go语言程序设计有所帮助。
本文向大家介绍go语言实现AES加密的方法,包括了go语言实现AES加密的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了go语言实现AES加密的方法。分享给大家供大家参考。具体实现方法如下: 希望本文所述对大家的Go语言程序设计有所帮助。
本文向大家介绍Go语言MD5加密用法实例,包括了Go语言MD5加密用法实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Go语言MD5加密用法。分享给大家供大家参考。具体实现方法如下: PS:这里再为大家提供2款MD5加密工具,感兴趣的朋友可以参考一下: MD5在线加密工具: http://tools.jb51.net/password/CreateMD5Password 在线MD5/h
本文向大家介绍Python实现的文本简单可逆加密算法示例,包括了Python实现的文本简单可逆加密算法示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Python实现的文本简单可逆加密算法。分享给大家供大家参考,具体如下: 其实很简单,就是把一段文本每个字符都通过某种方式改变(比如加1) 这样就实现了文本的加密操作,解密就是其逆运算 注意: ①如果出现中文编码问题可以通过.encode
本文向大家介绍python实现的DES加密算法和3DES加密算法实例,包括了python实现的DES加密算法和3DES加密算法实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了python实现的DES加密算法和3DES加密算法。分享给大家供大家参考。具体实现方法如下: 希望本文所述对大家的Python程序设计有所帮助。
本文向大家介绍go语言实现sqrt的方法,包括了go语言实现sqrt的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了go语言实现sqrt的方法。分享给大家供大家参考。具体实现方法如下: 希望本文所述对大家的Go语言程序设计有所帮助。
本文向大家介绍C语言实现加密解密功能,包括了C语言实现加密解密功能的使用技巧和注意事项,需要的朋友参考一下 加密主要是通过一种算法对原内容进行处理,使原来内容不直观可见。解密过程通常要知道加密的算法,然后对加密后的内容进行逆处理,从而实现解密功能。当然解密也有一些暴力破解的方法。接下来以 c 语言 为例讲解一种简单的加密解密以及暴力破解字符串的方法,带您走进加密解密技术的大门。 先讲一下凯撒加密,