首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏全栈程序员必看

    sm4 前后端 加密_sm4加密

    前言 项目里需要用到sm4加密,在这里记录一下(springboot)。 Cipher cipher = generateEcbCipher(DECRYPT_MODE, key); return cipher.doFinal(cipherText); } /** * cbc 加密 , ivParameterSpec); return cipher; } /** * ecb 加密 times 次 * @param data * @param salt * @param times NoSuchProviderException | NoSuchAlgorithmException | InvalidKeyException var5) { throw new GeneralSecurityException(“SM4加密失败 ”); } } /** * cbc 加密 times 次 * @param data * @param salt * @param times * @return= */ public static String

    1.2K30编辑于 2022-11-08
  • 来自专栏devops_k8s

    Go加密算法总结

    前言 加密解密在实际开发中应用比较广泛,常用加解密分为:“对称式”、“非对称式”和”数字签名“。 对称式:对称加密(也叫私钥加密)指加密和解密使用相同密钥的加密算法。 4、相邻的两个奇数是互质数。如 49与 51。 5、较大数是质数的两个数是互质数。如97与88。 6、小数是质数,大数不是小数的倍数的两个数是互质数。例如 7和 16。 (模反元素存在,当且仅当e与r互质) 4、将 p 和 q 的记录销毁。 (N,e)是公钥,(N,d)是私钥。 在Go中,可以查看encoding/pem包和crypto/x509包。 加密解密这块,涉及到很多标准 Go RSA加密 rsa加解密, 必须会去查crypto/ras这个包 Package rsa implements RSA encryption as specified

    1.9K40发布于 2020-12-22
  • 来自专栏golang开发笔记

    Go 加密解密算法总结

    前言 加密解密在实际开发中应用比较广泛,常用加解密分为:“对称式”、“非对称式”和”数字签名“。 对称式:对称加密(也叫私钥加密)指加密和解密使用相同密钥的加密算法。 非对称加密(公钥加密):指加密和解密使用不同密钥的加密算法,也称为公私钥加密。具体算法主要有RSA、Elgamal、背包算法、Rabin、D-H、ECC(椭圆曲线加密算法)。 如果采用真正的128位加密技术甚至256位加密技术,蛮力攻击要取得成功需要耗费相当长的时间。 privateKey = []byte(` -----BEGIN RSA PRIVATE KEY----- MIICWwIBAAKBgQDcGsUIIAINHfRTdMmgGwLrjzfMNSrtgIf4EGsNaYwmC1GjF R+PKlmJvAkEA6o32c/WEXxW2zeh18sOO4wqUiBYq3L3hFObhcsUAY8jfykQefW8q yPuuL02jLIajFWd0itjvIrzWnVmoUuXydwJAXGLrvllIVkIlah

    3.3K31发布于 2020-09-27
  • 来自专栏iOS 备忘录

    iOS RC4加密

    iOS RC4加密 iOS RC4加密的实现,要注意加密后生成字符串的步骤,有些要求是base64加密后输出,有些要求是字节数组转16进制字符串输出,所以要特别注意。 代码如下: // rc4加密 - (NSString *)rc4Encode:(NSString *)aInput key:(NSString *)aKey { NSMutableArray * return resultString; } //rc4解密 - (NSString *)rc4Decode:(NSString *)data key:(NSString*)secret{ // 如果是16进制字符串 NSData *raw = [self ByteDataFromString:data]; // 如果是base64加密后字符串 // *data = [NSData dataWithBytes:buf length:len]; free( buf ); return data; } 参考 iOS,objectC,RC4加密解密方法

    1.4K10发布于 2021-07-29
  • 来自专栏GoLang全栈

    Go语言加密-MD5,BASE64加密

    加密环节在项目开发当中是必不可少的,如果缺少加密模块,犹如人穿着透明的衣服在奔跑。 于是我录制了2个Go语言中加密的视频,希望大家能喜欢,后续会完善其他加密算法的录制。 1、Md5加密 Md5加密他是不可逆的算法,由于他不管什么样的数据进行加密,最后输出的都只会是一串32位的字符串,于是常被用于密码加密或者文件指纹计算。 2、Base64加密 Base64加密算法它是一套可逆的加密算法,我们项目当中经常用它来对数据进行一些简单的加密。 这个时候我们就可能就会用到Base64加密,我们把要传的数据进行一个简单的加密,这样到后台拿到我们加密过的字符串,只需要进行解密就能拿到加密前的数据了。

    86730编辑于 2022-05-10
  • 来自专栏Java菜鸡冲冲冲!

    SM4加密解密

    //身份证、手机号SM4加密存储 sysBfinfo.setLeaderIdcard(SM4Util.encryptEcb(SM4Util.hexKey,sysBfinfo.getLeaderIdcard PROVIDER_NAME = "BC"; public static final String ALGORITHM_NAME = "SM4"; // 加密算法/分组加密模式/分组填充方式 NoSuchAlgorithmException | InvalidKeyException var5) { throw new GeneralSecurityException("SM4加密失败 "); } } /** * sm4加密 * @explain 加密模式:ECB 密文长度不固定,会随着被加密字符串长度的变化而变化 * @ param hexKey 16进制密钥(忽略大小写) * @param paramStr 待加密字符串 * @return 返回16进制的加密字符串 */ public

    4.1K01发布于 2021-02-03
  • 来自专栏加密解密

    加密解密(RC4)

    特点:简单高效:RC4算法的实现相对简单,运行速度快,适用于资源有限的设备和环境,对实时性要求比较高的应用场景。对称加密:RC4算法是一种对称加密算法,使用相同的密钥进行加密和解密。 长度无限制:RC4算法对于加密/解密数据的长度没有限制,适合于加密数据流。实现简单:RC4算法的实现简单,只需要一个密钥和一个初始化向量。 应用场景:无线通信领域中:RC4算法被用于保护Wi-Fi网络的安全。在SSL加密中:RC4算法是一种可选的加密算法。在游戏保护中:RC4算法可以用于加密游戏关键数据。 在电子商务中:RC4算法可以用于加密信用卡等敏感信。 互联网通信:RC4算法可以用于保护互联网通信的安全性,例如SSL/TLS协议中的RC4加密套件。数据加密:RC4算法可以用于对数据进行加密,例如文件加密、数据库加密等。

    99710编辑于 2024-08-01
  • 来自专栏码客

    Go语言 字符串加密

    AES加密 CBC模式,最常见的使用方式: package main import ( "bytes" "crypto/aes" "crypto/cipher" "encoding blockSize := block.BlockSize() // 补全码 strData = PKCS7Padding(strData, blockSize) // 加密模式 cipher.NewCBCEncrypter(block, k[:blockSize]) // 创建数组 cryted := make([]byte, len(strData)) // 加密 // 分组秘钥 block, _ := aes.NewCipher(k) // 获取秘钥块的长度 blockSize := block.BlockSize() // 加密模式 1",utils.MD5_z1(str)) fmt.Println("加密结果2",utils.MD5_z2(str)) fmt.Println("加密2次",utils.MD5_more(str)

    1.2K30编辑于 2022-10-07
  • 来自专栏Golang语言开发栈

    Go 语言怎么使用对称加密

    通过对称加密进行通信的实体必须共享该密钥,以便可以在解密过程中使用它。这种加密方法与非对称加密不同,非对称加密使用一对密钥(一个公钥和一个私钥)来加密和解密数据。 Golang 实现 AES 对称加密算法主要分为以下几个步骤: 加密步骤: 创建一个新的加密块。 获取加密块的大小。 填充数据。 初始化向量。 指定加密块的分组模式。 进行加密多个块。 本文重点是介绍怎么使用 Go 语言实现对称密钥加密,代码占用篇幅比较多,关于 AES 算法的分组模式和填充模式的详细介绍,感兴趣的读者朋友们可以阅读参考资料给出的链接地址。 参考资料: https://en.wikipedia.org/wiki/Symmetric-key_algorithm https://pkg.go.dev/crypto/aes@go1.18.3#NewCipher https://pkg.go.dev/crypto/cipher#NewCBCEncrypter https://pkg.go.dev/crypto/cipher#NewCBCDecrypter https

    1.7K10编辑于 2022-07-01
  • 来自专栏全栈程序员必看

    sm4算法加密解密

    对称加密加密算法主要可以分为两种,一个是非对称加密算法,另一个就是对称加密算法。 对称加密简单来说就是有一个明文,通过一个密钥加密之后得到一个密文,这个密文可以通过相同的密要解密得出和原来相同的明文 二、sm4算法 算法定义:SM4算法是一种分组密码算法。 SM4算法加/解密算法的结构相同,只是使用轮密钥相反,其中解密轮密钥是加密轮密钥的逆序。 (plaintext).trim(); } /** * SMS4加密加密字符数组 * * @param plaintext 字节数组形式的明文 * @param key 秘钥 * @return sm4 = new Sm4Util(); sm4.sms4(ciphering, 16, key, plain, DECRYPT); return plain; } /** * 只加密32位明文 *

    4.5K20编辑于 2022-11-08
  • 来自专栏陶士涵的菜地

    go下实现md5加密

    下面这个工具包下的函数 package utils import ( "crypto/md5" "encoding/hex" ) //md5加密 func Md5(src string

    1.2K10发布于 2020-12-09
  • 来自专栏全栈程序员必看

    SM4 加密算法_des加密算法流程

    SM4加密算法 密码算法中常用的一些数据单位: 位/比特/bit:指一个二进制位。 字节/byte:1字节=8位 [公式] 字/word:1字=4字节=32位 [公式] SM4是一种分组密码算法,其分组长度为128位(即16字节,4字),密钥长度也为128位(即16字节,4字)。 加密过程分为两步,由32次轮迭代和1次反序变换组成。 SM4的解密过程与加密过程完全相同,也包括32轮迭代和一次反序变换。只是在轮迭代的时候,需要将轮密钥逆序使用。 1.69</version> </dependency> 代码块 @Test void contextLoads() { String content="123456"; SM4 sm4 = SmUtil.sm4(); String encryptHex = sm4.encryptHex(content); String decryptStr = sm4.decryptStr

    3.2K20编辑于 2022-11-08
  • 来自专栏Devops专栏

    4.Go常量

    4.Go常量 前言 在上一篇章,我们已经学习了Go基础数据类型,那么这一篇章我们来学习一下Go的常量。 1:常量定义使用 在讲解常量之前,我们要先简单说一下我们前面讲解的变量。 %d, b=%d, c=%d\n", a, b, c) // 3. iota遇到const,重置为 0 const d = iota fmt.Printf("d=%d\n", d) // 4.

    27210编辑于 2022-01-17
  • 来自专栏Golang语言社区

    实效go编程--4

    (s int) { for _, v := range a { s += v } return } request := &Request{[]int{3, 4, const NCPU = 4 // CPU核心数 func (v Vector) DoAll(u Vector) { c := make(chan int, NCPU) // 缓冲区是可选的 尽管Go的并发特性能够让某些问题更易构造成并行计算, 但Go仍然是种并发而非并行的语言,且Go的模型并不适合所有的并行问题。 关于其中区别的讨论,见 此博文。 若回溯到达Go程栈的顶端,程序就会终止。不过我们可以用内建的 recover 函数来重新或来取回Go程的控制权限并使其恢复正常执行。 recover 的一个应用就是在服务器中终止失败的Go程而无需杀死其它正在执行的Go程。

    985150发布于 2018-03-26
  • 来自专栏全栈程序员必看

    java+sm4+加密算法_SM4加密算法实现Java和C#相互加密解密

    SM4加密算法实现Java和C#相互加密解密 近期由于项目需要使用SM4对数据进行加密,然后传给Java后台,Java后台使用的也是SM4加密算法但是就是解密不正确,经过一步步调试发现Java中好多数据类型与 ,那就让他们使用同一个语言进行加密解密,就是加密和解密都是用C#就可以完美的解决了。 C#SM4加密代码 下面详细解释各个类。 Org.BouncyCastle.Utilities.Encoders; namespace SM4 { public class MainSm4 { /// /// 加密ECB模式 /// (plainText.getBytes(),”ASCII”)); } //System.out.println(“测试返回结果:”+cipherText); } } OK完美实现Java和C#的SM4加密解密问题

    1.5K10编辑于 2022-11-10
  • 来自专栏架构师成长之路

    GO进阶(4) 深入Go的内存管理

    32位机器可以直接寻址4G空间,意思是每个应用程序都有4G内存空间可用。 虚拟内存一般分为以下4大块: 1,栈空间:特点是内存地址连续,先进后出,里面放了局部变量、函数形参、自动变量。 Go把变量的位置在哪儿这件事对程序员“隐藏”了,Go自行处理;因为Go认为:变量的存储位置,会对程序的性能有一定影响,而Go是计划打造对性能有极致要求的程序,因而自己管了。 goroutine会占用4GB。      答案是有的,Go向开发者提供了变量逃逸分析的工具: go build -gcflags '-m -l' main.go 这里的main.go也可以是某个具体的二进制应用程序 下面对如下代码进行逃逸分析: 4.逃逸分析在编译阶段完成 因为无论变量的大小,只要是指针变量都会在堆上分配,所以对于小变量我们还是使用传值效率(而不是传指针)更高一点

    1K10编辑于 2023-02-27
  • 来自专栏容器云实践

    通过Go实现AES加密和解密工具

    本文包含如下两个内容: AES加密介绍及实现原理 Go实现AES加密和解密工具 ---- AES加密介绍及实现原理 AES( advanced encryption standard)使用相同密钥进行加密和解密 操作系统组件:一些操作系统组件(如文件系统)使用高级加密标准来确保安全性。 编程语言库: Go、Python 和 C++ 等编码库实现了的AES加密(等会使用到)。 AES加密是如何实现的? (图上黄色块),一个字节包含 8 位,布局为 4×4矩阵(上图黄色部分),对最后一块填充至128bit,填充方式有PKCS7Padding(采用)/PKCS5Padding/ZeroPadding,无论咋填充最后解密时都要去除这些多余的填充 6.加轮密钥(AddRoundKey) 先将扩展密钥Kn排列成4×4矩阵,然后让输入数组的每一个字节a[i,j]与密钥对应位置的字节k[i,j]异或一次,得到输出b[i,j]。 ---- Go实现AES加密工具scode ok,上面大致了解AES加密是如何工作起来的,接下来通过Go中的crypto/aes和crypto/cipher包实现的AES加密解密工具。

    3.8K10编辑于 2022-06-08
  • 来自专栏go程序例子

    Go程序例子(4):常量

    Go 支持字符、字符串、布尔值和数值类型的常量。 fmt.Println(math.Sin(n))}$ go run constant.go constant6e+11600000000000-0.28470407323754404

    12210编辑于 2024-12-05
  • 来自专栏solate 杂货铺

    go监控方案(4) -- telegraf

    telegraf 整个包非常大,在这个方案只用了statsd插件部分的修改,所以更具体的需要根据自己需要进行学习,如果只是使用本方案就可以略过。

    3.3K20发布于 2019-07-22
  • 来自专栏人人都是架构师

    Go每日一库之4go-ini

    go-ini是 Go 语言中用于操作 ini 文件的第三方库。 本文介绍go-ini库的使用。 快速使用 go-ini 是第三方库,使用前需要安装: $ go get gopkg.in/ini.v1 也可以使用 GitHub 上的仓库: $ go get github.com/go-ini/ini 为此,go-ini也提供对应的MustType(Type 为Init/Uint/Float64等)方法,这个方法只返回一个值。 或许这是go-ini库可以优化的点? 其实go-ini还有很多高级特性。官方文档非常详细,推荐去看,而且有中文哟~ 作者无闻,相信做 Go 开发的都不陌生。 参考 go-ini GitHub 仓库 go-ini 官方文档

    57930编辑于 2023-09-12
领券