这种方式跟明文口令参不了多少,因为在网络传还是以明文方式传送,只是在数据库表中加密而已!
如果真的考虑安全,最好使用SSL.

解决方案 »

  1.   

    商业用途足够安全.
    FMStocks7采用的是Hash函数加密,网络上是密文包.这里的Hash涵数是单向的,所以这种加密方法是安全的,不会被解出原来的密码的.你可以看一下
    Credentials 类的实现
    public class Credentials
    {
    private string m_email;
    private byte[] m_password;

    /// <summary>
    /// Construct a new Credentials object with the specified e-mail and
    /// password.
    /// <param name='email'>
    /// E-mail address</param>
    /// <param name='password'>
    /// Clear-text password to be SHA1-encoded</param>
    /// </summary> public Credentials( string email, string password )
    {
    // Set e-mail
    m_email = email; // Get byte array from string
    SHA1 sha1 = SHA1.Create();
    m_password = sha1.ComputeHash( Encoding.Unicode.GetBytes( password ) );
    }}这里的判断流程是这样的,没有任何一个地方存放原来的password,在数据库里存放的是hash以后的一个二进制串.
    你在browser里面输入的密码马上被Hash成另一个二进制串,然后和数据库里面的二进制串比较,如果相同,就说明密码正确.这样一来避免了在网络上穿输明文. 这里使用SHA1类中封装好的Hash函数,有160bits,足够安全了.
    你可以在自己的程序里面使用,基本上可以完全照抄DAL.accounts类和
    Credential类.