`
touchinsert
  • 浏览: 1345631 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Silverlight信息加密 - 通过Rfc2898DeriveBytes类使用基于HMACSHA1的伪随机数生成器实现PBKDF2

 
阅读更多

在上一篇文章当中,介绍到了通过Silverlight获取web.config中的值,最后提到了加密的问题,因此首先对该安全问题做一个简单的描述。

问题描述

1. 下方是我的web.config文件,当中配置这一个媒体文件服务器的IP地址

2. 当在Silverlight程序中获取到该config中的值时,我们可以发现,通过查看页面的Source Code,是可以看到这个IP地址的,它是以明文的方式显示出来的,这样会引发安全性问题,我相信没有人愿意将自己的服务器IP地址暴露在外面

解决方法

在Page页面获取到web.config后,对该文件当中的内容进行加密,从而有效地解决了明文显示的问题,这样,别人就不能通过查看源代码的方式从前台获取你的服务器IP地址或者其他机密信息了,其实现方法如下:

1. 在Page页面后台的.cs文件中,加入机密算法,使用Rfc2898DeriveBytes 获取密码、salt 值和迭代次数,然后通过调用 GetBytes 方法生成密钥:

2. 之后,在Silverlight页面获取config数据的时候,通过解密算法进行解密,得到真正的IP地址信息:

最终实现效果如下,这时候我们通过查看源文件看到的则是被加密后的信息,而不是127.0.0.1,只有在Silverlight进行解密之后,才能看到我们想要的数据。

分享到:
评论

相关推荐

    ESP和AH中HMAC-SHA-1-96的使用(rfc2404).txt

    HMAC是一种基于密钥的散列消息认证码,它可以利用任何迭代散列函数来实现,如MD5、SHA-1等。HMAC-SHA-1-96就是使用SHA-1作为底层散列函数的HMAC实现。 - **密钥处理**:根据RFC 2104规定,HMAC-SHA-1-96要求支持160...

    java与C#的PBE加密

    Java使用了传统的PBE算法,而C#则使用了更现代的Rfc2898DeriveBytes,该算法基于PBKDF2(Password-Based Key Derivation Function 2),它提供了更好的安全特性。 总的来说,PBEWithMD5AndDES在Java和C#中都是为了...

    C#加密机制实例源码-口令加密Exe【201903】

    C#的Rfc2898DeriveBytes类实现了PBKDF2。 6. **Encoding and Formatting**:在处理字符串时,需要将字符编码为字节,如ASCII、Unicode或UTF-8,C#的Encoding类可以帮助完成这个转换。此外,加密后的数据通常需要...

    C#加密机制实例源码-口令加密Exe

    C#中可以使用Rfc2898DeriveBytes类实现PBKDF2。 ```csharp using System.Text; string password = ...; // 口令 byte[] salt = ...; // 盐值 int iterations = ...; // 迭代次数 Rfc2898DeriveBytes derivedKey =...

    中方RFC RFC3---RFC3093,chm文件,查找、学习、引用的好帮手

    中方RFC,RFC3---RFC3093,chm文件,查找、学习、引用的好帮手。中方RFC,RFC3---RFC3093,chm文件,查找、学习、引用的好帮手。中方RFC,RFC3---RFC3093,chm文件,查找、学习、引用的好帮手。中方RFC,RFC3---RFC3093...

    RFC中文完整版-china-pub-RFC文档中文翻译计划.zip

    1. **语言障碍的消除**:对于非英语为母语的用户,尤其是中文使用者,中文版的RFC降低了理解技术细节的难度,提高了学习效率。 2. **知识普及**:中文版有助于在中国和其他中文地区推广互联网技术知识,促进技术交流...

    SHA1算法及HMAC<SHA1>算法C语言实现

    /*SHA1算法及HMAC&lt;SHA1&gt;算法C语言实现。内附详细测试例程。测试数据取自rfc2202.txt和rfc3174.txt。源文件列表: md5.h, md5.cpp, test.h, test.cpp, rfc2202.txt, rfc3174.txt。包含测试工程: VC++6.0, VC++2008, ...

    C#加密机制实例源码-口令加密Exe__0525.rar

    例如,可以使用Rfc2898DeriveBytes类实现PBKDF2。 3. **加密过程**:在实际应用中,我们首先需要获取用户输入的口令,然后使用PBKDF2将口令转换为安全的密钥。接下来,使用这个密钥对数据进行加密,常见的对称加密...

    c#加密解密之口令加密Exe源码.rar

    在C#中,可以使用System.Security.Cryptography命名空间下的类,如Rfc2898DeriveBytes,来实现PBE。 三、Rfc2898DeriveBytes类 Rfc2898DeriveBytes是.NET Framework中用于从口令派生字节序列的类,它遵循PKCS #5...

    RFC中文文档-txt

    RFC2404 在ESP和AH中使用HMAC-SHA-1-96 RFC2406 IP 封装安全有效载荷 (ESP) RFC2407 Internet IP 用于解释ISAKMP的安全域 RFC2408 Internet 安全关联和键管理协议 (ISAKMP) RFC2409 Internet密钥交换(IKE) RFC2410...

    HTTP digest RFC2671规范 加密实现(JAVA)

    2. `generateNonce`: 生成随机的Nonce字符串。 3. `calculateHA1`: 根据用户名、密码、 Realm和Nonce计算HA1,这是计算最终响应值的关键步骤。 4. `calculateHA2`: 根据HTTP方法和uri计算HA2。 5. `...

    sapjco3-call RFC-code

    总之,"sapjco3-call RFC-code"涉及的关键知识点是使用SAP JCo 3库在Java应用中调用SAP系统的RFC函数模块。通过理解SAP JCo 3的工作原理和RFC的概念,开发者能够构建起非SAP系统与SAP系统间的有效桥梁,实现数据交换...

    RFC5091(基于身份的加密标准)

    综上所述,《基于身份的加密标准(IBCS)#1:超奇异曲线实现的BF和BB1密码系统》(RFC5091)是一份全面介绍了两种基于身份的加密算法的技术文档。它不仅提供了理论基础,还给出了具体的算法实现,对于理解和实现IBE...

    node-rfc对接sap系统需要的nwrdcsdk

    3. 安装"node-rfc"模块,通常通过npm(Node.js包管理器)完成。 4. 在Node.js代码中引入"node-rfc",设置SAP系统的连接参数(如系统ID、用户名、密码、主机名等)。 5. 创建RFC连接,并调用SAP系统中的函数模块执行...

    UPS-RFC1628-MIB.mib

    《UPS-RFC1628-MIB.mib》是一个与不间断电源(Uninterruptible Power Supply, UPS)相关的管理信息库(Management Information Base, MIB)文件。MIB文件是网络管理系统(Network Management System, NMS)中用于...

    分享网络资源--------RFC中文版

    2. **信息性:** 提供信息、建议或者讨论的RFC,通常不作为强制性的技术规范,但可以提供有价值的见解和行业最佳实践。 3. **历史:** 一些RFC被标记为“historic”,它们记录了早期的网络技术或已被取代的标准,...

    RFC阅读器--RFC Viewer 1.4绿色版

    **RFC阅读器——RFC Viewer 1.4绿色版详解** 在信息技术领域,RFC(Request for Comments)是一种重要的文档格式,用于记录和传播互联网标准、协议和技术建议。RFC Viewer 1.4是一款专为查看和理解这些文档而设计的...

    SIP协议--------RFC3261中文版(PDF)

    2. **头字段**:包含了关于消息源、目标、消息类型等信息。 3. **消息体**:可选部分,包含了具体的会话描述或其他相关信息。 #### 三、SIP消息格式详解 ##### 起始行 - **请求行**:包含了方法(Method)、请求...

    C#版本口令加密BAT源码_0520.rar

    C#的`Rfc2898DeriveBytes`类实现了PBKDF2。 7. **哈希碰撞和彩虹表** 哈希碰撞是指不同的输入产生了相同的哈希值,彩虹表则是一系列预先计算好的哈希值,用于快速破解哈希密码。通过加盐和使用迭代哈希可以有效...

Global site tag (gtag.js) - Google Analytics