# crypto_walkers **Repository Path**: lingpe/crypto_walkers ## Basic Information - **Project Name**: crypto_walkers - **Description**: 密码行者。支持对称和非对象加解密,以及证书解析和签发 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2024-11-15 - **Last Updated**: 2025-02-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 说明 - 本软件使用Qt 5.14.2 开发, 主要实现了对称和非对称加解密,以及证书的签发和解析 - 下载后双击安装即可使用 # 版本 - 1.0.0 - 支持3DES、AES、SM4加解密 - 支持RSA和SM2加解密 - 支持证书解析和签发 - 1.0.1 - 新增证书格式转换功能 - 新增数据和文件摘要计算功能 - 关于界面功能实现 - 配置页功能实现,日志记录可配置 - 1.0.2 - 新增Base64和Hex编解码功能 - 后续会支持对此软件优化,请持续关注。。。 # 功能说明 - 对称加解密算法 - 支持3DES、AES、SM4 - 支持EBC和CBC两种加密模式,CBC模式需要传入初始化向量 - 密钥长度说明 - 3DES算法密钥长度为24个字节 - AES算法长度可为16、24、32个字节 - SM4算法密钥长度为16个字节 - 初始化向量长度说明 - 3DES算法初始化向量长度为8个字节 - AES算法初始化向量长度为16个字节 - SM4算法初始化向量长度为16个字节 - 支持数据和文件加密 - 加密后的文件会添加.en后缀名 - 解密后的文件会添加.de后缀名 - 例如 logo.png 加密后为 logo.png.en, logo.png.en 解密后为logo.png.en.de - RSA非对称加解密算法 - 支持生成1024位或者2048位的密钥 - 密钥为ASN.1编码 - 公钥有两种格式, PKCS#8和PKCS#1, PKCS#8较为常用,默认为此格式 - 支持数据加解密,密钥支持HEX和Base64两种格式 - 加解密需要先生成密钥,或者从外部传入密钥 - 公钥用于加密,私钥用于解密 - 密文为ASN.1编码 - SM2非对称加解密算法 - 密钥支持两种格式,ECC和ASN.1 - ECC为裸公钥格式,即 04|X|Y, X和Y分别表示公钥的x分量和y分量, 其长度各为256位,04表示非压缩。 - ASN.1格式即为ASN.1编码的公钥,会有一些额外说明信息,裸公钥在包含在其中。 - 对于SM2算法来说,ECC格式较为常用 - 密钥格式为ASN.1时,只支持生成Base64编码格式。密钥格式为ECC时,可生成Base64和HEX两种格式。 - 支持生成Base64和HEX两种格式密文 - 密文有两种标准,C1C3C2和C1C2C3 - C1是随机产生的公钥的x分量和y分量和前缀0x04,长度固定为65个字节。 - C3是计算的明文的摘要值,长度固定为32个字节。 - C2是密文,长度和明文相等。 - 两种不同的标准为不同密文块的排列方式。比较常用的为C1C3C2标准。 - 证书解析 - 支持PEM、DER、PFX三种格式的证书解析 - 证书签发 - 证书文件会签发到安装目录下 - 支持RSA和SM2两种类型的证书签发 - 可自定义证书使用者信息、可自定义证书有效期 - 证书格式支持PEM、DER、PFX三种格式 - 默认先签发一张根证书和私钥,根证书格式固定为PEM格式 - 同时使用根证书签发用户证书和私钥 - 证书名说明,以RSA证书的PEM格式为例 - 根证书名称默认为 SWRootCA.RSA.pem, 私钥名称为 SWRootCA.RSA.key - 用户证书默认名称为 sw.RSA.pem, 私钥名称为 sw.RSA.key - 证书格式转换 - PEM、DER、PFX三种格式的证书转换 - 摘要计算 - 支持MD5、SHA1、SHA256、SHA512、SM3摘要计算 - Base64编解码 - Hex编解码