数据库中如何存放用户名和登录网站的密码
如题:怎样安全的设置数据库,既能使用户能登录网站,又能保证安全.一般的论坛是怎么设计的.数据库中如何存放用户名和登录网站的密码,而权限不一样该怎么设置....
如题:
怎样安全的设置数据库,既能使用户能登录网站,又能保证安全.
一般的论坛是怎么设计的.
数据库中如何存放用户名和登录网站的密码,而权限不一样该怎么设置. 展开
怎样安全的设置数据库,既能使用户能登录网站,又能保证安全.
一般的论坛是怎么设计的.
数据库中如何存放用户名和登录网站的密码,而权限不一样该怎么设置. 展开
4个回答
推荐于2018-05-14 · 知道合伙人数码行家
可以叫我表哥
知道合伙人数码行家
向TA提问 私信TA
知道合伙人数码行家
采纳数:25897
获赞数:1464972
2010年毕业于北京化工大学北方学院计算机科学与技术专业毕业,学士学位,工程电子技术行业4年从业经验。
向TA提问 私信TA
关注
展开全部
你可以参考下这个。
/// <summary>
/// 对密码进行MD5加密的函数(添加盐值:&%#@?,:*
/// </summary>
/// <param name="Password"></param>
/// <returns></returns>
public static string getEncryPassword(string Password)
{
string EncryedPassword = FormsAuthentication.HashPasswordForStoringInConfigFile(
Password + "&%#@?$%)@%($)#_$)*", "md5"); // Or "sha1"
return EncryedPassword;
}
/// <summary>
/// 加密
/// </summary>
/// <param name="strText"></param>
/// <returns></returns>
public static string EncryptText(String strText)
{
return Encrypt(strText, "&%#@?$%)@%($)#_$)*");
// return Encrypt(strText,DateTime.Now.ToString() );
}
/// <summary>
/// 解密
/// </summary>
/// <param name="strText"></param>
/// <returns></returns>
public static String DecryptText(String strText)
{
return Decrypt(strText, "&%#@?$%)@%($)#_$)*");
// return Decrypt(strText,DateTime.Now.ToString());
}
/// <summary>
/// 加密函数
/// </summary>
/// <param name="strText"></param>
/// <param name="strEncrKey"></param>
/// <returns></returns>
public static String Encrypt(String strText, String strEncrKey)
{
Byte[] byKey = { };
Byte[] IV = { 0x01, 0x12, 0x34, 0x56, 0x78, 0x90, 0xAB, 0xCD, 0xEF };
try
{
byKey = System.Text.Encoding.UTF8.GetBytes(strEncrKey.Substring(0, 8));
DESCryptoServiceProvider des = new DESCryptoServiceProvider();
Byte[] inputByteArray = Encoding.UTF8.GetBytes(strText);
MemoryStream ms = new MemoryStream();
CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(byKey, IV), CryptoStreamMode.Write);
cs.Write(inputByteArray, 0, inputByteArray.Length);
cs.FlushFinalBlock();
return Convert.ToBase64String(ms.ToArray());
}
catch (Exception ex)
{
return ex.Message;
}
}
/// <summary>
/// 解密函数
/// </summary>
/// <param name="strText"></param>
/// <param name="sDecrKey"></param>
/// <returns></returns>
public static String Decrypt(String strText, String sDecrKey)
{
char[] stBase = strText.ToCharArray();
for (int i = 0; i < stBase.Length; i++)
{
if (stBase[i] == ' ')
{
stBase[i] = '+';
}
}
strText = "";
for (int i = 0; i < stBase.Length; i++)
{
strText += stBase[i];
}
Byte[] byKey = { };
Byte[] IV = { 0x01, 0x12, 0x34, 0x56, 0x78, 0x90, 0xAB, 0xCD, 0xEF };
Byte[] inputByteArray = new byte[strText.Length];
try
{
byKey = System.Text.Encoding.UTF8.GetBytes(sDecrKey.Substring(0, 8));
DESCryptoServiceProvider des = new DESCryptoServiceProvider();
inputByteArray = Convert.FromBase64String(strText);
MemoryStream ms = new MemoryStream();
CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(byKey, IV), CryptoStreamMode.Write);
cs.Write(inputByteArray, 0, inputByteArray.Length);
cs.FlushFinalBlock();
System.Text.Encoding encoding = System.Text.Encoding.UTF8;
return encoding.GetString(ms.ToArray());
}
catch (Exception ex)
{
return ex.Message;
}
}
/// <summary>
/// 对密码进行MD5加密的函数(添加盐值:&%#@?,:*
/// </summary>
/// <param name="Password"></param>
/// <returns></returns>
public static string getEncryPassword(string Password)
{
string EncryedPassword = FormsAuthentication.HashPasswordForStoringInConfigFile(
Password + "&%#@?$%)@%($)#_$)*", "md5"); // Or "sha1"
return EncryedPassword;
}
/// <summary>
/// 加密
/// </summary>
/// <param name="strText"></param>
/// <returns></returns>
public static string EncryptText(String strText)
{
return Encrypt(strText, "&%#@?$%)@%($)#_$)*");
// return Encrypt(strText,DateTime.Now.ToString() );
}
/// <summary>
/// 解密
/// </summary>
/// <param name="strText"></param>
/// <returns></returns>
public static String DecryptText(String strText)
{
return Decrypt(strText, "&%#@?$%)@%($)#_$)*");
// return Decrypt(strText,DateTime.Now.ToString());
}
/// <summary>
/// 加密函数
/// </summary>
/// <param name="strText"></param>
/// <param name="strEncrKey"></param>
/// <returns></returns>
public static String Encrypt(String strText, String strEncrKey)
{
Byte[] byKey = { };
Byte[] IV = { 0x01, 0x12, 0x34, 0x56, 0x78, 0x90, 0xAB, 0xCD, 0xEF };
try
{
byKey = System.Text.Encoding.UTF8.GetBytes(strEncrKey.Substring(0, 8));
DESCryptoServiceProvider des = new DESCryptoServiceProvider();
Byte[] inputByteArray = Encoding.UTF8.GetBytes(strText);
MemoryStream ms = new MemoryStream();
CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(byKey, IV), CryptoStreamMode.Write);
cs.Write(inputByteArray, 0, inputByteArray.Length);
cs.FlushFinalBlock();
return Convert.ToBase64String(ms.ToArray());
}
catch (Exception ex)
{
return ex.Message;
}
}
/// <summary>
/// 解密函数
/// </summary>
/// <param name="strText"></param>
/// <param name="sDecrKey"></param>
/// <returns></returns>
public static String Decrypt(String strText, String sDecrKey)
{
char[] stBase = strText.ToCharArray();
for (int i = 0; i < stBase.Length; i++)
{
if (stBase[i] == ' ')
{
stBase[i] = '+';
}
}
strText = "";
for (int i = 0; i < stBase.Length; i++)
{
strText += stBase[i];
}
Byte[] byKey = { };
Byte[] IV = { 0x01, 0x12, 0x34, 0x56, 0x78, 0x90, 0xAB, 0xCD, 0xEF };
Byte[] inputByteArray = new byte[strText.Length];
try
{
byKey = System.Text.Encoding.UTF8.GetBytes(sDecrKey.Substring(0, 8));
DESCryptoServiceProvider des = new DESCryptoServiceProvider();
inputByteArray = Convert.FromBase64String(strText);
MemoryStream ms = new MemoryStream();
CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(byKey, IV), CryptoStreamMode.Write);
cs.Write(inputByteArray, 0, inputByteArray.Length);
cs.FlushFinalBlock();
System.Text.Encoding encoding = System.Text.Encoding.UTF8;
return encoding.GetString(ms.ToArray());
}
catch (Exception ex)
{
return ex.Message;
}
}
Zoho Mail
2024-11-01 广告
2024-11-01 广告
外贸公司如何注册邮箱?做国际业务一定是要用到能做外贸的邮箱,给大家普及下最近网上说的TOM VIP邮箱。注册邮箱通常需要以下几个步骤选择邮箱服务提供商:首先,您需要选择一个合适的邮箱服务提供商。您可以根据服务商的知名度、口碑、容量、速度、安...
点击进入详情页
本回答由Zoho Mail提供
展开全部
这个很简单。
你在数据库里创建一张表,表分三列,一列是用户名char型,一列是密码char型,一列是权限级别number型。
当用户在网页输入用户名和密码的时候,就调用这张表看看是否匹配。
你当然可以在前台的应用里通过调用算法把密码加密后再储存到表里,读取的时候再次调用算法解密
你在数据库里创建一张表,表分三列,一列是用户名char型,一列是密码char型,一列是权限级别number型。
当用户在网页输入用户名和密码的时候,就调用这张表看看是否匹配。
你当然可以在前台的应用里通过调用算法把密码加密后再储存到表里,读取的时候再次调用算法解密
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
id username password grade,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个问题不是一两句话可以解决的
建议你下一个论坛源码,看下它的login系统是如何处理的
建议你下一个论坛源码,看下它的login系统是如何处理的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询