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

    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
  • 来自专栏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
  • 来自专栏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
  • 来自专栏全栈程序员必看

    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
  • 来自专栏全栈程序员必看

    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
  • 来自专栏全栈程序员必看

    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
  • 来自专栏全栈程序员必看

    SM4加密解密_iunlocker解锁网站

    最近工作需要用到SM4加密解密算法,所以研究了一下。 内容主要参考自:https://blog.csdn.net/weixin_34411563/article/details/86000381 首先介绍一下SM4加密算法 SM4是我们自己国家的一个分组密码算法 SMS4算法是在国内广泛使用的WAPI无线网络标准中使用的加密算法,是一种32轮的迭代非平衡Feistel结构的分组加密算法,其密钥长度和分组长度均为128。 * @explain sm4加密、解密与加密结果验证 可逆算法 */ public class Sm4Util { static { Security.addProvider(new BouncyCastleProvider "; String cipher = Sm4Util.encryptEcb(key,json);//sm4加密 System.out.println("加密后:"+cipher); System.out.println

    1.7K20编辑于 2022-11-08
  • 来自专栏全栈程序员必看

    国密sm4加密算法

    */ public class Sm4Util { public enum Algorithm { SM4("SM4","SM4","key长度:16 byte"); private String { return new SecretKeySpec(keyBytes, algorithm.getKeyAlgorithm()); } /****************************加密 *********************************/ /** * 加密字符串,并进行base64编码 * @param algorithm 加解密算法 * @param key 密钥 * } } /** * 加解密字节数组 * @param algorithm 加解密算法 * @param opmode 操作:1加密,2解密 * @param key 密钥 * @param data 数据 , encryptCharset); //加密 String encryptBase64 = Sm4Util .encryptBase64(algorithm, key, "123456", encryptCharset

    96130编辑于 2022-11-11
  • 来自专栏大猪的笔记

    python3 实现rc4 加密

    实现rc4库 非常简洁,看代码吧 import base64 import hashlib import os from io import BytesIO class RC4(object): yield s[(s[i] + s[j]) % 256] def encrypt(in_stream: BytesIO, out_stream: BytesIO, pwd: str): rc4_ cryptor = RC4(pwd) rc4_cryptor.encode(in_stream, out_stream) def encrypt_str(data: str, pwd: str

    1.5K20发布于 2019-11-22
  • 来自专栏大数据实战演练

    Java版SMS4加密解密算法

    放弃不难,但坚持很酷~ 前言 最近工作中需要实现HBase自定义扩展sms4加密,今天就先来说一下Java版的SMS4加密解密算法的具体实现。 加密算法与密钥扩展算法都采用32轮非线性迭代结构。解密算法与加密算法的结构相同,只是轮密钥的使用顺序相反,解密轮密钥是加密轮密钥的逆序。 在SMS4的基础类中,你会看到加密和解密的基础函数是同一个(本篇文章中的sms4KeyExt()方法),只是需要一个int型的标志位来判断是加密还是解密。 package com.xxx.sms4; import java.util.Arrays; /** * @author CREATE_17 * @description: SMS4加密与解密算法实现 ,程序会对明文进行加密,然后在对密文进行解密。直接运行程序,得到加密与解密结果,如下图所示: ?

    2.8K40发布于 2019-04-17
  • 来自专栏E条咸鱼

    rc4+ctf常用编码加密shellcode

    前言 本文不会解释rc4加密是什么,以及ctf编码在我的理解中为一个大类,并非单独一种编码形式,当然不管是rc4还是ctf编码,其宗旨都是为了使字符串变得“毫无意义”从而达成无法被杀软正确的检查出是shellcode 其实这篇文章更多的算是踩坑记录,因为本身代码的实现复制粘贴即可,讲加密代码的原理也大可不必,不可逆就行了。 目前针对rc4网上有不同的写法,主要根本是环境的不同,分别有 Python2 Python3 经过测试,Python3在脚本中计算rc4存在问题,常常导致过长的字符串加密后就无法还原,所以按照我看的某篇文章的说法是 ,以此来减少特征,不是完全赞同,但是也没什么反驳的例子吧 有了上面的加密代码后,直接用即可 def kaisa_jiemi(s,k): lower=string.ascii_lowercase ,除了maketrans中before和after的位置发生变化外,前面string.和''.也有区别 这是因为我运行的平台,生成shellcode.py的平台是python3的,所以加密部分的代码是按照

    1.5K20编辑于 2022-10-27
  • 来自专栏Spark学习技巧

    开发中常用的 4加密方法

    0x01:工具类 md5加密工具类 base64加密工具类 Bcrypt工具类 0x02:加密测试 MD5加密测试 base64加密测试 SHA加密测试 BCrypt加密测试 0x03、工具类 1 . md5加密工具类 public class MD5Utils { private static final String hexDigIts[] = {"0","1","2","3","4","5 MD5Utils.byteArrayToHexString(string.getBytes()); System.out.println(byteArrayToHexString);//e68891e698afe4b880e58fa5e8af9d Sha2Crypt.sha256Crypt(string.getBytes()); System.out.println(sha256Crypt);//$5$AFoQTeyt$TiqmobvcQXjXaAQMYosAAO4KI8LfigZMGHzq.Dlp4NC } } 4.

    75220发布于 2021-03-05
  • 来自专栏国产程序员

    Pig4cloud密码加密-AES加密key为什么是16位?

    在pig中前端加密图片后端图片图片这里我们说的16位就是16字节,也就是AES中的128比特。为什么采用128比特的密钥长度?简单地说,128的密钥长度是目前能对安全性和性能的一种比较理想的折中选择。

    1.5K20编辑于 2022-11-16
  • 来自专栏Eliauk的小窝

    关于SM4加密的动态秘钥

    前提 前段时间我听说有一款国人开发的安全框架Sa-Token,打算去支持一下于是看了一下官方文档就准备把自己之前的项目重构一下,我自己的项目中权限框架用的springsecurity做用户密码加密的时候直接用自带的就行 ,但是换成Sa-Token之后据我现在所知里边没有可用的对密码进行加密的工具类,所以我选择的国密SM4加密。 但是有一个问题因为我们的数据库可能随时挂掉,这就有一个问题了,在SM4加密的时候,我们的秘钥是动态的,每次产生的秘钥都是不一样的,他保存在类似于ThreadLocal这种上下文中,我们下次用的时候会从上下文中取出来 这个时候我是这样解决这个问题的,往下看 解决 我们先获得一个秘钥,通过这个秘钥对密码进行加密,然后把这个密码和对密码加密的秘钥同时存放在数据库中,这样我们就不会因为服务器挂掉而导致用户无法登录了,

    67210编辑于 2022-11-15
  • 来自专栏我是攻城师

    Java中4大基本加密算法解析

    常见于邮件、http加密,截取http信息,你就会发现登录操作的用户名、密码字段通过BASE64加密的。 将数 据(如汉字)运算为另一固定长度值,是杂凑算法的基础原理,MD5的前身有MD2、MD3和 MD4。广泛用于加密和解密技术,常用于文件校验。校验?不管文件多大,经过MD5后都能生成唯一的MD5值。 4、弱抗碰撞:已知原数据和其MD5值,想找到一个具有相同MD5值的数据(即伪造数据)是非常困难的。 5、强抗碰撞:想找到两个不同的数据,使它们具有相同的MD5值,是非常困难的。 } catch (Exception e) { e.printStackTrace(); } } } SHA-1与MD5的比较 因为二者均由MD4导出 4.HMAC HMAC(Hash Message Authentication Code,散列消息鉴别码,基于密钥的Hash算法的认证协议。

    2.5K50发布于 2018-05-11
  • 来自专栏全栈程序员必看

    国密SM4分组加密

    分享一篇SM4加密算法实现文章,算法用C语言即可实现,只有短短300多行代码。 作为我国商用密码的分组密码标准,预计SMS4在国内的敏感但非机密的应用领域会逐渐取代3DES,AES等国外分组密码标准,用于通信加密,数据加密等应用场合。 我对加密算法进行了一个封装,可以直接用来加密文件,我的封装方法是:由于SM4的密钥长度和分组长度均为128比特(16个字节),所以我们必须要对密码和明文进行处理,最简单就是补齐16字节,密码规定最大只能是 16个字符,不足部分补0(这样做有个BUG,比如密码“123456”和“1234560”是一样的,可以考虑对密码取MD5值解决这个问题);明文也是 不足部分补0,加密时计算补了多少个字节,计为offset 4]; PUT_ULONG_BE(ka,a,0) b[0] = sm4Sbox(a[0]); b[1] = sm4Sbox(a[1]); b[2] = sm4Sbox(a[2]); b[3] = sm4Sbox

    2.5K30编辑于 2022-11-10
  • 怎么加密源代码?分享4个可以加密源代码的方法,保护源代码

    那么,怎么加密源代码?有没有既安全又实用的方法?本文将介绍4种主流的源代码加密方法,帮助开发者和企业有效保护自己的知识产权。一、为什么需要加密源代码? 二、4个可以加密源代码的方法方法1:使用代码混淆工具(适用于JavaScript、Java、C#等)代码混淆是最常见、成本最低的源代码保护方式。 方法3:使用专业源代码加密软件(如域智盾软件)透明加密:无感防护,违规即锁软件采用透明加密技术,源代码文件在公司内部开发环境中可正常打开、编辑、编译,开发者无需额外操作,完全无感即可自动加密。 禁止截屏与拖拽:阻断隐蔽泄露渠道为防止通过截图、拖拽等方式绕过文件加密机制,软件可禁止截屏加密源代码文件,并禁止将加密源代码文件拖拽到其他程序。 方法4:采用私有Git仓库 + 访问权限管理虽然这不是传统意义上的“加密”,但却是最基础且关键的防护措施。

    93810编辑于 2025-09-25
  • 来自专栏逆向技术

    RC4加密原理,代码解析,逆向小技巧.

    RC4加密原理 一丶RC4 1.1 rc4介绍 ​ RC4是一种对称加密算法,加密加密使用同一个函数. 其中关于其历史这里也不多说了. 自己查一下百度百科. 1.2 RC4原理以及代码介绍 RC4是很简单的一种加密算法, 主要就是分为两部分 RC4初始化 RC4加密 其实很简单. 1.2.1rc4初始化介绍 初始化分为以下几个步骤 初始化存储 prc4->s_box[j] = tmp; } } 1.2.2 RC4加密 RC4加密其实就是遍历数据,将数据与sbox进行异或加密,而在此之前还需要交换一次sbox的数据 交换完之后 再把s[ 代码如下. void rc4_crypt( unsigned char data[], //要加密的数据 unsigned int datalen, //要加密的数据长度 转换后看到就是我们的加密数据以及rc4的key(pjrheldsadf) ?

    2.1K30发布于 2020-11-26
  • 来自专栏小生观察室

    利用gpg4win加密邮件内容或软件

    image.png 视频内容 利用gpg4win加密邮件内容或软件 1080P超清版 微信公众号平台本身会对素材进行二次压缩,会导致画面出现不清晰等情况。 v=GqyGe4tJPF8 其他说明 本视频基于直播内容进行了剪辑和优化,去除多余杂音及跳帧画面 添加片头增强舒适度,提高观赏性。

    72720发布于 2021-03-16
领券