ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

C .NET DLL与C#托管代码? (文件加密AES-128 XTS)

2019-12-10 03:07:50  阅读:299  来源: 互联网

标签:encryption aes dll c c-4


我需要创建一个Windows Mobile应用程序(WinMo 6.x-C#),该应用程序用于加密/解密文件.但是,我有责任编写加密算法AES-128和XTS作为操作模式. RijndaelManaged只是不削减它:(比DES和3DES CryptoServiceProviders慢得多:O

我知道这一切都取决于我以最有效的方式编写算法的能力. (是的,我本人必须从头开始编写它,但是我可以在其他实现中看一下)

但是,与使用完全托管的C#代码编写加密算法文件处理相比,编写C .NET DLL来创建所有文件处理的加密/解密算法并从C#使用它是否具有显着的性能优势?

如果我使用C .NET创建加密算法,则应该使用MFC智能设备DLL还是ATL?有什么区别,对我选择哪一个有影响?我可以只添加对C#中C DLL的引用,还是应该使用P / Invoke?

与C相比,我在C#方面相当称职,但性能起着重要作用,因为我已经使我的讲师相信AES是一种用于资源受限设备的非常有效的加密算法.

谢谢一堆:)

解决方法:

编写“托管”程序将在C或C#或VB中具有同等的性能,因为它们都可以编译为IL.

我不知道,但是如果您编写一个非托管的C类库并从托管的C#应用​​程序中调用它,则在p / invoke调用期间可能会失去一些性能,但您的速度提高(从非托管状态开始)可能足以证明其合理性. p /调用有同等可能会将其取消不受管理的任何潜在性能提升.

我认为,无论是通过方式还是进行测试,都无法确定.

标签:encryption,aes,dll,c,c-4
来源: https://codeday.me/bug/20191210/2098788.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有