当前位置: 首页 > news >正文

做ps网页设计的网站有哪些想学编程去哪里找培训班

做ps网页设计的网站有哪些,想学编程去哪里找培训班,wordpress医院模板下载,做视频点播网站要多少带宽冷雨悄悄停吧 天真的心因为你 那管多风雨天仍和你一起 告诉你我其实多么的想你 其实我我真的爱着你 #x1f3b5; 蒋明周《真的爱着你》 引言 高级加密标准#xff08;AES#xff09;是一种广泛使用的加密算法。它可以工作在多种模式下#xff0c;最… 冷雨悄悄停吧 天真的心因为你 那管多风雨天仍和你一起 告诉你我其实多么的想你 其实我我真的爱着你                       蒋明周《真的爱着你》 引言 高级加密标准AES是一种广泛使用的加密算法。它可以工作在多种模式下最常用的一种是CBCCipher Block Chaining模式。本文将介绍如何使用Go语言实现AES CBC No Padding加密和解密。 什么是AES CBC No Padding AESAdvanced Encryption Standard是一种对称加密算法意味着加密和解密使用相同的密钥。CBCCipher Block Chaining是一种工作模式它将每个明文块与前一个密文块进行异或XOR操作后再进行加密。No Padding表示数据块必须是加密算法所要求的固定大小不足时不会自动填充。 准备工作 在开始编写代码之前请确保已安装Go语言环境。可以从 Go语言官方网站 下载并安装。 代码实现 下面是完整的代码实现包括加密和解密函数。 package mainimport (bytescrypto/aescrypto/cipherencoding/hexfmtlog )// AES加密函数 func aesEncrypt(plaintext, key, iv []byte) ([]byte, error) {block, err : aes.NewCipher(key)if err ! nil {return nil, err}if len(plaintext)%aes.BlockSize ! 0 {return nil, fmt.Errorf(plaintext is not a multiple of the block size)}ciphertext : make([]byte, len(plaintext))mode : cipher.NewCBCEncrypter(block, iv)mode.CryptBlocks(ciphertext, plaintext)return ciphertext, nil }// AES解密函数 func aesDecrypt(ciphertext, key, iv []byte) ([]byte, error) {block, err : aes.NewCipher(key)if err ! nil {return nil, err}if len(ciphertext)%aes.BlockSize ! 0 {return nil, fmt.Errorf(ciphertext is not a multiple of the block size)}plaintext : make([]byte, len(ciphertext))mode : cipher.NewCBCDecrypter(block, iv)mode.CryptBlocks(plaintext, ciphertext)return plaintext, nil }func main() {key : []byte(0123456789abcdef) // 16字节的密钥iv : []byte(abcdef9876543210) // 16字节的初始向量plaintext : []byte(Hello, AES CBC No Padding!) // 明文// 补充明文使其长度为块大小的倍数if len(plaintext)%aes.BlockSize ! 0 {padding : aes.BlockSize - len(plaintext)%aes.BlockSizeplaintext append(plaintext, bytes.Repeat([]byte{byte(padding)}, padding)...)}fmt.Printf(原始明文: %s\n, plaintext)// 加密ciphertext, err : aesEncrypt(plaintext, key, iv)if err ! nil {log.Fatalf(加密失败: %v, err)}fmt.Printf(密文: %s\n, hex.EncodeToString(ciphertext))// 解密decryptedText, err : aesDecrypt(ciphertext, key, iv)if err ! nil {log.Fatalf(解密失败: %v, err)}fmt.Printf(解密后的明文: %s\n, decryptedText) }代码说明 导入必要的包我们使用crypto/aes和crypto/cipher包来处理AES加密和解密。 AES加密函数 创建一个新的AES密码块。 检查明文长度是否为块大小的倍数如果不是则返回错误。 使用CBC加密模式进行加密。 AES解密函数 创建一个新的AES密码块。 检查密文长度是否为块大小的倍数如果不是则返回错误。 使用CBC解密模式进行解密。 主函数 定义密钥和初始向量IV。 补充明文使其长度为块大小的倍数。 执行加密和解密操作并输出结果。 运行代码 将上述代码保存为main.go然后在终端中运行 go run main.go结论 本文介绍了如何使用Go语言实现AES CBC No Padding加密和解密。我们讨论了AES CBC模式的基本概念并提供了完整的代码示例。希望这篇文章能帮助你更好地理解AES CBC加密和解密的实现。如果你有任何问题或建议请在评论中告诉我们。
http://www.hkea.cn/news/14510563/

相关文章:

  • 怎么用新浪云做网站网站班级文化建设视频
  • wordpress 企业站开发php网站后台登陆地址
  • 北京学习网站建设中国著名十大vi设计案例
  • 案例学习网站建设方案设计素材网站哪个好
  • 合肥网站建设百家号wordpress 页面与目录
  • 成都高新区建设局网站wordpress 修改目录id
  • 长沙网页设计公司网站新手学做网站 电子书
  • 网站建设模板之家免费下载实战网站开发
  • 凡科建站步骤域名申请哪家好
  • 做外国网站定制安卓app多少钱
  • 网站建设会面临些什么问题百度一下知道首页
  • 三门峡网站建设公司东莞网络推广建站
  • 阿里巴巴国际站怎么开店创建网站的步骤是
  • 做h5那个网站好小程序开发文档api
  • wordpress国外主题网站模板网站设计的五大要素
  • 网站策划与建设阶段的推广方法阿里云虚拟主机怎么做网站
  • 网站可以几个服务器西安网站建设优化与推广
  • 重庆放心seo整站优化天津做做网站
  • 怎么申请信用卡收款网站接口品牌宣传如何做
  • 新建的网站百度多久才会收录长沙seo培训
  • 杭州做家教网站做美食分享网站源码
  • 郴州建设网站国内外知名市场调研公司
  • 如何申请一个网站空间最新郑州发布
  • 个人网站设计师简单搜索主页网址
  • 长沙企业网站建设哪家好企业查询卡在哪里打印
  • 文章网站是怎么做的慈溪网页设计
  • 域名备案查询站长工具网站生成移动版
  • 网络存储上做网站智慧团建网站登录密码
  • 青岛市规划建设局网站专业网站设计第三方
  • 网站建设的资金遵义在线读者留言板留言