社区
C#
帖子详情
使用DES加密算法,VB6.0与C#的密文不一致
ss3idx
2010-07-04 04:53:55
使用DES加密算法
在VB6.0与C#下的加密后,密文不一致。
哪位大侠,能指点!
...全文
289
4
打赏
收藏
使用DES加密算法,VB6.0与C#的密文不一致
使用DES加密算法 在VB6.0与C#下的加密后,密文不一致。 哪位大侠,能指点!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lpxxn
2012-05-26
打赏
举报
回复
楼主你的问题解决了没!请指点呀,我这了正需要呀vb6 和c# des加密
pwrfume_lily_11
2011-04-23
打赏
举报
回复
楼主你问题解决了吗
段传涛
2010-07-04
打赏
举报
回复
vb 的 我不会
段传涛
2010-07-04
打赏
举报
回复
肯定不一样,
c#
/// <summary>
/// 进行DES加密。
/// </summary>
/// <param name="pToEncrypt">要加密的字符串。</param>
/// <param name="sKey">密钥,且必须为8位。</param>
/// <returns>以Base64格式返回的加密字符串。</returns>
public string Encrypt(string pToEncrypt, string sKey)
{
using (DESCryptoServiceProvider des = new DESCryptoServiceProvider())
{
byte[] inputByteArray = Encoding.UTF8.GetBytes(pToEncrypt);
des.Key = ASCIIEncoding.ASCII.GetBytes(sKey);
des.IV = ASCIIEncoding.ASCII.GetBytes(sKey);
System.IO.MemoryStream ms = new System.IO.MemoryStream();
using (CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(), CryptoStreamMode.Write))
{
cs.Write(inputByteArray, 0, inputByteArray.Length);
cs.FlushFinalBlock();
cs.Close();
}
string str = Convert.ToBase64String(ms.ToArray());
ms.Close();
return str;
}
}
/**/
/// <summary>
/// 进行DES解密。
/// </summary>
/// <param name="pToDecrypt">要解密的以Base64</param>
/// <param name="sKey">密钥,且必须为8位。</param>
/// <returns>已解密的字符串。</returns>
//public string Decrypt(string pToDecrypt, string sKey)
//{
// byte[] inputByteArray = Convert.FromBase64String(pToDecrypt);
// using (DESCryptoServiceProvider des = new DESCryptoServiceProvider())
// {
// des.Key = ASCIIEncoding.ASCII.GetBytes(sKey);
// des.IV = ASCIIEncoding.ASCII.GetBytes(sKey);
// System.IO.MemoryStream ms = new System.IO.MemoryStream();
// using (CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(), CryptoStreamMode.Write))
// {
// cs.Write(inputByteArray, 0, inputByteArray.Length);
// cs.FlushFinalBlock();
// cs.Close();
// }
// string str = Encoding.UTF8.GetString(ms.ToArray());
// ms.Close();
// return str;
// }
//}
图解
DES
、3
DES
与AES
加密算法
:从原理到跨语言实现避坑指南
对称
加密算法
是信息安全领域的基石技术,它通过同一密钥实现数据的加密与解密,保障了数据传输和存储的机密性。其核心原理基于混淆与扩散两大设计思想,通过多轮迭代的替换和置换操作,将明文转化为看似随机的
密文
。这项技术的核心价值在于为各类应用提供了高效可靠的数据保护机制,广泛应用于网络通信、金融交易、文件加密等场景。在实际工程实践中,开发者常会遇到诸如`aes decrypt error`、`BadPaddingException`等典型问题,这往往与算法模式、填充方式或密钥处理等配置细节密切相关。本文将以图解方式,
为
VB6
项目集成AES加密:DLL方案实现与避坑指南
AES(高级加密标准)作为目前全球广泛采用的对称
加密算法
,通过分组加密和密钥扩展机制,为数据提供了高强度的机密性保护。其技术价值在于平衡了安全性与性能,成为保护敏感信息的行业标准。在实际工程中,AES常用于加密配置文件、网络传输数据及用户文件等场景。针对
VB6
这类遗留系统,原生加密能力薄弱,直接实现AES算法复杂且低效。通过将AES核心算法用C/C++封装成标准Windows DLL,再由
VB6
调用,成为一种务实可靠的升级路径。该方案能有效解决类似“java.security.invalidkeyexcep
VB6
实现AES加密:为遗留系统注入现代安全能力
AES(高级加密标准)作为当前应用最广泛的对称
加密算法
,其核心原理基于替换-置换网络,通过多轮迭代的字节代换、行移位、列混合和轮密钥加操作,实现对数据块的混淆与扩散,从而确保机密性。该算法因其安全性高、效率优异,已成为HTTPS、数据库加密、文件保护等众多场景的基石。在工程实践中,为Visual Basic 6.0等遗留技术栈集成AES能力,是满足现代数据安全法规与业务升级需求的关键技术手段。本文聚焦于在
VB6
环境中实现AES-CBC模式与PKCS7填充,深入剖析纯代码实现与DLL调用的方案选型、核心算法模
C#
写的WinForm小工具:拖进来就加密,输对密码才解得开
一个轻量级的Windows桌面文件保护工具,用
C#
和WinForm开发,底层走AES-256对称加密,支持直接拖放文件进窗口或点选路径操作。加密时可自定义输出文件后缀(比如改成.dat或.lock),解密必须输入完全
一致
的密码,否则打不开。源码结构干净,Program.cs是启动入口,Form1.cs负责界面交互,ProtectFile.csproj里封装了加解密核心逻辑,所有关键步骤都有中文注释。图标(加密.ico)、资源文件(.resx)、解决方案配置(.sln)和编译配置都已配好,拉下来就能在Visu
命名空间不能直接包含字段或方法之类的成员
今天,我需要做一个
DES
加密过程.中间出了个问题,就是我把方法直接放到了命名空间下面.之间没有在意这个问题,这次,我真的费了很大的经,终于找到错误.这个错误虽然在很多大侠们眼里根本不是错误.但是,这是我没有意识错误.下面是我的代码.自己一定要谨记. 1 using System; 2 using System.Collections.Generic; 3 using System....
C#
111,129
社区成员
642,533
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章