包含vb.netrsa的词条( 七 )


加密
.NET Framework提供了一组加密对象,它们支持加密算法、数字签名、散列、生成随机数,是通过众所周知的运算法则实现的,如RSA, DSA, Rijndael/AES, Triple DES, DES, 和 RC2, 以及MD5, SHA1, SHA-256, SHA-384 和 SHA-512散列算法 。同时还支持在IETF和W3C开发的XML数字签名规范 。.NET Framework使用加密对象支持内部服务 。这些对象还作为管理代码提供给需要加密支持的开发人员 。
如何指定安全性?
如果要对组合运行时的行为进行修改,根据程序员的需要,可以作出声明式安全或强迫式安全的修改 。
声明式安全
声明式安全使程序员可以直接在组合代码的元数据中为组合指定安全需求 。许可请求和所有其它形式的声明式安全是在代码中是作为定置属性指定的 。类,属性和方法的注释用于优化许可 。例如 , 声明式安全可用于类的调用者在调用方法前检查调用者是否被已知地行商签名过,或有一个特定的强名 。
由于声明属性是组合元数据的一部分,所以组合的安全需求易于辨别 。可以使用工具对组合进行扫描,以发现哪些方法需要某些许可,哪些方法断言了某些许可 。
当被请求的活动和许可在编译时是知道时,声明式检查可作为选择的解决方案之一 。例如,如果方法总是检查对C:\temp的写访问许可,那么许可检查就会从声明中得到好处 。另一方面,如果被请求的具有访问权的位置发生了变化,那么强迫式安全也许是一个比较好的解决方案 。
强迫式安全
强迫式安全直接在代码中实现 。程序员通过程序采取安全活动,并且根据安全堆栈的状态决定是给予还是拒绝许可 。例如,当一个方法请求访问一个特定的文件时,如果调用者(或方法的任何一个调用者)没有被给予必需的许可权限,那么请求失败 。因为强迫式安全是通过程序实现的,所以满足了动态需求 。如果你需要对一个特定文件的访问许可,但该许可还要根据其它信息发生变化,那么,强迫式安全就是可选的解决方案 。
总结
.NET Framework安全迎合了这种事实:软件向多样化的移动组件发发展,并根据这种事实提供保护 。在一个细化的、可扩展的策略和许可系统下,用户能够运行功能强大的代码,而同时减少相关的风险 。在没有运行时对用户作出信任决定时 , 管理员可以在各个级别创建强壮的安全策略 。策略是完全可定置的 。开发人员能够集中解决应用程序逻辑 , 而不用关心核心的安全问题(它由CLR透明地处理) 。然而 , 开发人员可以在任何时候扩展安全模型 。
RSA算法效率问题RSA的素数运算其实对于当今的计算机来说并不能算什么vb.netrsa,运算量大的地方其实在密钥生成的部分vb.netrsa , 这部分C#作的确实比较好 , 我曾经使用J#的BigInteger类做过1024位密钥生成(5次洛宾米勒素数检验)需要12-15分钟,后来用C#写的大整数类世间基本就可以忽略不计了 。而且随着计算数论的发展,已经有越来越优秀的素数生成算法出现 , 大素数的生成也就更加容易了 。
当然RSA对于比较长的报文流加密性能还是不能和DES,IDEA,或者椭圆曲线加密算法相比,所以它多半是用作签名 。前两者是对称密钥,后者也是非对称的 。
.net软件,用什么软件加密狗加密,能防止代码反编译?.net软件加密狗可试试德国的威步,威步(WIBU)信息系统的软件加密狗,还能申请免费试用版 。
软件加密狗:威步(WIBU)的CodeMeter,AxProtector(for.net)两款软件加密狗性能非常不错
反编译的问题,与传统的代码混淆工具(Obfuscator)不同,AxProtector可以完全阻止对.NET 程序集(由 C#, VB.NET, Delphi.NET, ASP.Net… 等语言编写)的反编译 。通俗的讲,AxProtector在破解者和您的 .NET 代码之间构建了强大的防破解保护屏障,生成一个基于 Windows 的而不是基于 MSIL 的兼容格式文件 。原始的 .NET 代码完整的被加密后封装在本地代码内,无论何时都不会释放到硬盘,对于破解者是不可见的 。

推荐阅读