当前位置: 首页 > 编程笔记 >

Go语言实现AzDG可逆加密算法实例

骆鸿运
2023-03-14
本文向大家介绍Go语言实现AzDG可逆加密算法实例,包括了Go语言实现AzDG可逆加密算法实例的使用技巧和注意事项,需要的朋友参考一下

本文实例讲述了Go语言实现AzDG可逆加密算法。分享给大家供大家参考。具体实现方法如下:

package main

import (  "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 语言 为例讲解一种简单的加密解密以及暴力破解字符串的方法,带您走进加密解密技术的大门。 先讲一下凯撒加密,