密码算法工具箱

该密码算法工具箱包含了对称密钥、MAC、PINBLOCK、Hash和非对称密钥等算法,支持RSA、DES、3DES、SM2、SM3和SM4。适用于Windows和Linux系统,提供中文和英文界面。用户在输入密钥时,工具会以颜色提示是否满足要求,方便进行加解密、校验和签名验签操作。提供下载链接,包括Windows和Linux版本。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本密码算法工具箱软件包含大多数密码键盘的算法,您可以利用他做加解密、校验或者其他功能。

号外:已经更新V2.0版本啦!

1、本工具包含对称密钥算法、MAC算法、PINBLOCK算法、Hash算法、非对称密钥算法的常用功能。

2、支持国际(RSA、DES、3DES)和国密(SM2、SM3、SM4)算法。

3、支持windows和linux系统。

4、界面支持中文和英文。

对不是太熟悉每种算法的同学而言,本工具说明了不同算法需要的密钥长度,在输入没有达到要求时,背景为红色提醒,输入满足要求后会变成绿色,非常方便使用。

修正输入,都为绿色后就可以计算,如下图:

 Hash算法可以用于对字符串,文件同时求MD5、SM3、SHA1、SHA256、SHA512多个算法的Hash,如下图:

 本工具还支持非对称密钥计算,非对称密钥支持RSA和国密SM2:

而且在签名验签的过程中,支持设置求数据Hash的算法,以SM2算法用SM3哈希为示例:

 下载地址:

一、链接:https://pan.baidu.com/s/1Kg-EaWka1FkLRof8knIv6A?pwd=5588 
提取码:5588 

本链接可以下载windows版和Linux版,且程序版本更新后会更新到本链接。建议收藏!

二、优快云下载: https://download.youkuaiyun.com/download/Timfly/87642146?spm=1001.2014.3001.5503

### 常用密码学算法工具箱及其实现 #### 一、伪随机数生成器 (PRNG) 在密码学中,伪随机数生成器是至关重要的组件之一。这种技术能创建看似随机但实际上是由特定种子决定的比特序列[^2]。 ```java import java.security.SecureRandom; public class PRNGExample { public static void main(String[] args) { SecureRandom random = new SecureRandom(); int randomNumber = random.nextInt(100); System.out.println("Generated Random Number: " + randomNumber); } } ``` #### 二、哈希函数 单向散列函数也是构建安全系统的基石,在这里介绍SHA-256作为例子。它属于强健的一类散列算法,广泛应用于数据完整性验证等领域[^1]。 ```java import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; public class HashFunctionExample { public static String applySha256(String input){ try{ MessageDigest digest = MessageDigest.getInstance("SHA-256"); byte[] hash = digest.digest(input.getBytes("UTF-8")); StringBuilder hexString = new StringBuilder(); for (byte elem : hash) { String hex = Integer.toHexString(0xff & elem); if(hex.length() == 1) hexString.append('0'); hexString.append(hex); } return hexString.toString(); } catch(Exception e){ throw new RuntimeException(e); } } public static void main(String[] args) { String textToHash = "Sample Text"; System.out.println("Original Text: "+textToHash); System.out.println("SHA-256 Hash: "+applySha256(textToHash)); } } ``` #### 三、对称加密算法-AES 高级加密标准(AES),作为一种高效的分组加密方法,适用于保护敏感但不需要长期保存的信息。 ```java import javax.crypto.Cipher; import javax.crypto.KeyGenerator; import javax.crypto.SecretKey; import javax.crypto.spec.GCMParameterSpec; import javax.xml.bind.DatatypeConverter; import java.nio.charset.StandardCharsets; import java.util.Base64; public class AESEncryption { private static final String TRANSFORMATION = "AES/GCM/NoPadding"; private static final int TAG_LENGTH_BIT=128; // must be one of {128, 120, 112, 104, 96} public static SecretKey generateKey(int n) throws NoSuchAlgorithmException { KeyGenerator keyGen = KeyGenerator.getInstance("AES"); keyGen.init(n); SecretKey secretKey = keyGen.generateKey(); return secretKey; } public static byte[] encrypt(SecretKey secretKey, byte[] iv, byte [] plaintext) throws Exception { Cipher cipher = Cipher.getInstance(TRANSFORMATION); GCMParameterSpec spec = new GCMParameterSpec(TAG_LENGTH_BIT, iv); cipher.init(Cipher.ENCRYPT_MODE, secretKey, spec); return cipher.doFinal(plaintext); } public static void main(String[] args)throws Exception { SecretKey secretKey = generateKey(256); // AES-256 byte[] iv = DatatypeConverter.parseHexBinary("0000000000000000"); // Initialization Vector String originalText="This is a top secret message!"; byte[] encryptedMessageBytes = encrypt(secretKey,iv,originalText.getBytes()); System.out.println(Base64.getEncoder().encodeToString(encryptedMessageBytes)); } } ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值