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

做ps网页设计的网站有哪些海阳市城建设局网站

做ps网页设计的网站有哪些,海阳市城建设局网站,北京金山办公软件股份有限公司招聘,怎么做捐款网站冷雨悄悄停吧 天真的心因为你 那管多风雨天仍和你一起 告诉你我其实多么的想你 其实我我真的爱着你 #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/14505067/

相关文章:

  • 如何查看网站做没做竞价开发公司采购招聘
  • 德州seo整站优化如何寻找做网站的客户
  • 临漳seo整站排名免费自助建站软件
  • 西凤酒网站建设的基本情况怀远做网站电话
  • 网站开发需要学习什么技术wordpress修复缩略图
  • 淄博网站的优化微平台是什么
  • 爱站seo排名可以做哪些网站开发一个app软件的开发费用
  • 湖北省建设厅乡镇污水官方网站推广平台有哪些
  • 中卫网站定制开发价格深圳电子商务平台设计
  • 重庆排名优化整站优化北京做网站制作的公司哪家好
  • 网站建设银行转账三水网站制作
  • 人工智能设计网站设计师的网站
  • 杭州微网站开发公司泾阳县建设局网站
  • 武进区城乡建设局网站网站原型怎么做
  • 电力网站怎么做2狠狠做网站
  • 朋友圈海报用什么网站做的网站建设需要些什么资料
  • 涂料网站建设wordpress+one+page
  • 建立什么样的网站好joomla 2.5:你的网站建设_使用与管理 下载
  • 做网站平台多少钱青岛开发网站
  • 新手学做免费网站软件湖北建筑网
  • 著名的个人网站网页加速器插件
  • 网站进入之前动态效果泉州网
  • 做衣服招临工在什么网站找查看网站cms
  • 西宁哪里做网站佛山专业网站制作
  • 免费网站空间论坛商务网站的建设与维护
  • 在哪个网站做推广好wordpress门户模板
  • 做游戏直播什么游戏视频网站好搜索关键词的网站
  • 制作网站不给源代码东莞疾控中心最新通知
  • 做网站不给源码华为手机官网商城
  • 北京朝阳区建设工作办公网站各网站的网络联盟