如何对web.config进行加密和解密

1. 加密通用语法

web中的数据加密 web加密方式web中的数据加密 web加密方式


web中的数据加密 web加密方式


加密一个特定网站的web.config文件的通用形式

aspnet_regiis.exe -pef secion physical_directory -prov provider

或aspnet_regiis.exe -pe secion -app virtual_directory -prov provider

其中,各个参数的含义如下:

section表示要加密的配置节

physical_directory用于指定站点的物理路径。

virtual_directory用户指定虚拟路径。

provider指定加密提供程序。

加密一个特定站点的连接字符串就是:

aspnet_regiis.exe -pef "connectionStrings" "你的web项目路径" -prov "DataProtectionConfigurationProvider"

其中DataProctionConfiguartionProvider是Windows数据保护API(DPAPI)提供程序,它使用Windows内置的密码学技术来加解密配置节。默认情况下,这个提供程序使用本机的密钥。

2. 加密方法

运行Visual Studio 2008命令提示

加密后的结果

[xhtml] view plain copy

AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAAy1WyvzomB0WAlqYo+ogiigQAAAACAAAAAAADZgAAqAAAABAAAADbDjp+bAce//lsg/so66+8AAAAAASAAACgAAAAEAAAANlF3b73Kdupv/cAf4a9nPUwAQAAoTvrHdAjNjaJFEfiG7pD6sG8GMNJKGpnd4JLchu7W9XhOuPgG4C/LD9H9WQ9uF3t/0MoMI9tbrWdFJ1Yu5/e3PAV4RCbCvDlPD0VC7hxtDMqfRjQ+1OhTdk2woiSNpx0TzXwZE25o4vlXq/aYri1Wmlo2zyRqSkg0hQFQbObCf7lrgWEUjsv+pEOS5OVXcgNhFipVMy5iQ8sH5fNHmGg8gu5JlZQaOqYFG8ci7MGOebcQzR67krJXRBrs26lZtAj8lzf2bK+QcSqtU7Rt4C33JbLqisPL9xhfoUl9GvGTu5VS1S1H5VtErTeYXxnL7PTIr3cNjIbDMjI48LJfoOgtymT35KUdK3J0DxB68DqPaeK5QSEC/L0+6bizStRZ7BDnOngV/XfiVJnbSNYXX5IShQAAACuGn8QGUuQ4TOzkKcc8SV/CVDQ==

lt;/connectionStrings>

3. 解密

解密该连接字符串也很简单

aspnet_regiis.exe -pdf "connectionStrings" '你的web项目路径"

解密后的结果:

[xhtml] view plain copy

4. 后台代码读取配置文件web.config中数据库连接字符串的方法:

[c-sharp] view plain copy

using System.Configuation;

…protected void Page_Load(object sender, EventArgs e)

{lblMessage.Text = ConfigurationMar.ConnectionStrings["Sql"].ToString();

}…

5. 在连接字符串的加密和解密的过程中,需要注意一下几点。

使用加密的连接字符串

使用加密的连接字符串不需要编码解密,ASP.NET会自动对加密内容进行解密。

加密和解密在同一台计算机上使用

在加密过程中,使用了一个基于本机的密钥。这就意味着加密和解密必须在同一台计算机上进行,否则将不能解密。同时,在一台计算机上加密的配置,在另一台计算机上将不能正常使用。

中文路径问题

该命令对中文支持不是很好。如果站点的路径中有中文字符,也许不能正常加解密。

Ja web项目中,如何对连接数据库的的配置项进行加密 解密

如果是使用webshpere,那么可以用jaas保存用户名密码, 然后在webshpere建立数据源,可以选择jass中保存的用户名密码。 这种情况下,不存在明文的用户名密码在任何文件中。

首先你要检查你的数据库的端口号是否正确,接下来你要确定项目中是否导入数据连接的jar包,再接着就是看你连接的数据库sqlserver是否开启,数据表是否存在于数据库中,看你的数据库账号,密码是否设置正确

SSL证书是怎么对网站数据加密的

部分站长对安全或密码学基础有了解的,都应该知道SSL证书的加密手段。通常来说,进行加密分为对称加密、非对称加密(也叫公开密钥加密)。

这其中对称加密的意思也就是,加密数据时用的密钥,跟解密数据用的密钥是一样的。

对称加密的优点在于加密、解密效率通常比较高。缺点在于,数据发送方、数据接收方需要协商、共享同一把密钥,并确保密钥不泄露给其他人。此外,对于多个有数据交换需求的个体,两两之间需要分配并维护一把密钥,这个带来的成本基本是不可接受的。

非对称加密指的是,加密数据用的密钥(公钥),跟解密数据用的密钥(私钥)是不一样的。

其中公钥其实就是字面上的意思——公开的密钥,谁都可以查到。因此非对称加密也叫做公开密钥加密。

相对应的,私钥就是非公开的密钥,一般是由网站的持有。

公钥、私钥两者之间的关系简单的说就是,通过公钥加密的数据,只能通过私钥解开。通过私钥加密的数据,只能通过公钥解开。

当您购买SSL/TLS证书并将其安装在您的Web上时,它会启用用于加密连接的SSL/TLS协议。当访问者访问您的站点时,访问者的浏览器和您的Web执行通俗地称为“SSL握手”的作,其中两者决定使用加密然后交换密钥以便它们可以相互通信。

WEB系统中加密解密URL传输参数

表单提交用POST,不要用GET就行。

如果非要加密,可以将ID号通过特殊算法加密,比如MD5之类的,不过MD5通常情况下是不可逆的。加密可逆算法种类也很多,ASP的应该有类似MCRYPT之类的吧。

这种算法的结果可以保存在数据库中,这样每次传递加密就行了。

还有就是别发LOCALHOST啊,这谁能看见啊。。。。。

不知道对楼主有没有帮助,希望没误人子弟

请教webserv安全和加密的方法

众所周知,WebServ访问API是公开的,知道其URL者均可以研究与调用。那么,在只允许注册用户的WebServ应用中,如何确保API访问和通信的安全性呢?本文所指的访问与通信安全性包括:

访问安全性:当前访问者是注册合法用户

通信安全性:客户端与之间的消息即使被第三方窃取也不能解密

本文安全的基本思路是:

注册用户登录时使用RSA加密

Web API调用参数使用DES加密(速度快)

Web API调用中包含一个身份票据Ticket

Web保存当前Ticket的Session,包括:Ticket、DES加密矢量、注册用户基本信息

1 WebServ身份验证

确保注册用户的访问安全,需要如下步骤:1)产生一个当前客户端机器票据(Ticket);2)请求RSA公钥(RSAPublicKey);3)使用RSA加密登录口令及发布DES加密矢量(DESCipherVector)。

1.1 产生客户端机器票据Ticket

一般而言,可以由客户端机器根据自己的MAC、CPU序列号等标识产生一个本机器的Ticket字符串票据,其目的是:标识当前客户端,防止其它机器模仿本客户端行为。

1.2 请求公钥RSAPublicKey

客户端携带票据Ticket向请求RSA公钥RSAPublicKey。在端,一般采取如下策略产生RSA加密钥匙:

Application_Start时产生一个1024或更长的RSA加密钥匙对。如果需要长久运行,那么Application_Start产生的RSA可能被,替代方案是在当前Session_Start时产生RSA加密钥匙对

保存当前票据对应的客户帐号对象,即:Session[Ticket] = AccountObject,在确认身份后在填写AccountObject具体内容:帐号、RSA加密钥匙对、DES加密矢量

完成上述步骤后,将RSAPublicKey传回给客户端。

1.3 加密登录口令及DES加密矢量

客户端获得RSAPulbicKey后,产生自己的DES加密矢量DESCipherVector(至少要8位及以上,该加密矢量用于以后的常规通信消息加密,因为其速度比RSA快)。接着,客户端使用RSAPublicKey加密登录帐号、口令及DESCipherVector,连同Ticket,发送到并请求身份验证。登录API格式如下:

public void Login(string Ticket, string cipherLongID, string cipherPassword);

如果验证成功,将当前帐号信息、RSA钥匙、DESCipherVector等保存到会话Session[Ticket]中。

2 WebServ通信安全性

2.1 加密WebServ API参数

身份确认后,在客户端调用的WebServ API中,必须包括参数Ticket,其它参数则均使用DESCipherVector加密。端返回的消息也同样处理。例如,提交一个修改email的函数定义为:

public void ModifyEmail(string Ticket, string cipherEmai);

2.2 客户端解密消息

客户端接收到返回消息后,先做解密作,如果成功则进入下步处理。否则抛出加密信息异常。

2.3 端解密消息

接收到客户提交的API请求后,首先验证Ticket的合法性,即查找Session中是否有该票据以验证客户身份。然后,解密调用参数。如果成功则进入下不作,否则返回作异常消息给客户端。

需要指出,如果第三方截获全部会话消息,并保留其Ticket,此时端仍然认可这个第三方消息。但是,第三方不能浏览,也不能修改调用API的参数内容,此时解密参数时将抛出异常。

上面探讨了一个基于加密的WebServ访问与通信安全方法,即使第三方获取消息,不能查看原始内容,也不能修改内容,保证了WebServ API的安全性。

Web前端密码加密是否有意义

有必要

明文传输的是第三方的密码:Apple ID 与密码。因为这个是用户在另一个网站的数据,如果加密之后,虽然攻击者可以通过重放攻击重新进行登录,但是加密情况下无法获取到原始的 Apple ID 的账号和密码。

不加密的话如果HTTP请求被拦截的话就可以知道用户的原始密码了,这是一件要不得的事情。

如果被拦截了,不管怎样拦截者只要查看源码,模拟请求之后都能登陆上。但是因为很多用户目前来说基本上来说不会一个网站一个密码,而是对应着多个账户的。

加密更安全,不是为了完全阻挡攻击,而是为了提高攻击的成本,降低被攻下的概率。

QQ 网页上的登陆模块(全程HTTP/GET请求):

web前端的数据如何加密

给sqlite数据库加密解密的方法:

1、创建空的sqlite数据库。

//数据库名的后缀你可以直接指定,甚至没有后缀都可以

//方法一:创建一个空sqlite数据库,用io的方式

filestream

fs

=file.create(“c:test.db“);