在ASPX+MSSQL里看到这个加密,琢磨了几天还是不知道算法
这俩24位,BASE64的,但是我解出来是乱码
蛋都要碎了
S95DA8JK9M+5Fp0+HYpXBw==
sWm7vu4iJUdazAsD5PRaLw==
这个是login.aspx的代码
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="login.aspx.cs" Inherits="System.Manage.login" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>管理中心登陆 </TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<LINK href="css/admin.css" type="text/css" rel="stylesheet">
</HEAD>
<BODY onload=document.form1.name.focus();>
<TABLE height="100%" cellSpacing=0 cellPadding=0 width="100%" bgColor=#002779
border=0>
<TR>
<TD align=middle>
<TABLE cellSpacing=0 cellPadding=0 width=468 border=0>
<TR>
<TD><IMG height=23 src="images/login_1.jpg"
width=468></TD></TR>
<TR>
<TD><IMG height=147 src="images/login_2.jpg"
width=468></TD></TR></TABLE>
<TABLE cellSpacing=0 cellPadding=0 width=468 bgColor=#ffffff border=0>
<TR>
<TD width=16><IMG height=122 src="images/login_3.jpg"
width=16></TD>
<TD align=middle>
<TABLE cellSpacing=0 cellPadding=0 width=230 border=0>
<form id="form1" runat="server">
<TR height=5>
<TD width=5></TD>
<TD width=56></TD>
<TD></TD></TR>
<TR height=36>
<TD></TD>
<TD>用户名</TD>
<TD><INPUT runat="server" style="BORDER-RIGHT: #000000 1px solid; BORDER-TOP: #000000 1px solid; BORDER-LEFT: #000000 1px solid; BORDER-BOTTOM: #000000 1px solid"
maxLength=30 size=24 id=name></TD></TR>
<TR height=36>
<TD> </TD>
<TD>口 令</TD>
<TD><INPUT runat="server" id="password"
style="BORDER-RIGHT: #000000 1px solid; BORDER-TOP: #000000 1px solid; BORDER-LEFT: #000000 1px solid; BORDER-BOTTOM: #000000 1px solid"
type=password maxLength=30 size=24
name=pass></TD></TR>
<TR height=5>
<TD colSpan=3></TD></TR>
<TR>
<TD> </TD>
<TD> </TD>
<TD>
<asp:Button ID="loginw" height=18 width=70 runat="server" Text="登陆"
onclick="loginw_Click" />
</TD></TR>
</form>
</TABLE></TD>
<TD width=16><IMG height=122 src="images/login_4.jpg"
width=16></TD></TR></TABLE>
<TABLE cellSpacing=0 cellPadding=0 width=468 border=0>
<TR>
<TD><IMG height=16 src="images/login_5.jpg"
width=468></TD></TR></TABLE>
<TABLE cellSpacing=0 cellPadding=0 width=468 border=0>
<TR>
<TD align=right><A href="http://www.865171.cn/" target=_blank><IMG
height=26 src="images/login_6.gif" width=165
border=0></A></TD></TR></TABLE></TD></TR></TABLE></BODY></HTML>
login.aspx.cs
锘縰sing System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using BLL;
namespace System.Manage
{
public partial class login : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void loginw_Click(object sender, EventArgs e)
{
//鐧诲綍
stringBLL sb = new stringBLL();
string[] userlogin = userBLL.UserLogins(name.Value.Trim(), password.Value.Trim());
if (userlogin[0] == null)
{
sb.ShowError("鐢ㄦ埛鍚嶆垨瀵嗙爜閿欒 ");
}
else
{
Response.Cookies["userid"].Value = userlogin[0];
Response.Cookies["username"].Value = userlogin[1];
Response.Redirect("index.aspx");
}
}
}
}
login.aspx.designer.cs
锘?/------------------------------------------------------------------------------
// <auto-generated>
// 姝や唬鐮佺敱宸ュ叿鐢熸垚銆?
// 杩愯 鏃剁増鏈?2.0.50727.5446
//
// 瀵规 鏂囦欢鐨勬洿鏀瑰彲鑳戒細瀵艰嚧涓嶆 纭 殑琛屼负锛屽苟涓斿 鏋?
// 閲嶆柊鐢熸垚浠g爜锛岃繖浜涙洿鏀瑰皢浼氫涪澶便??
// </auto-generated>
//------------------------------------------------------------------------------
namespace System.Manage {
public partial class login {
/// <summary>
/// form1 鎺т欢銆?
/// </summary>
/// <remarks>
/// 鑷 姩鐢熸垚鐨勫瓧娈点??
/// 鑻ヨ 杩涜 淇 敼锛岃 灏嗗瓧娈靛0鏄庝粠璁捐 鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲??
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// name 鎺т欢銆?
/// </summary>
/// <remarks>
/// 鑷 姩鐢熸垚鐨勫瓧娈点??
/// 鑻ヨ 杩涜 淇 敼锛岃 灏嗗瓧娈靛0鏄庝粠璁捐 鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲??
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlInputText name;
/// <summary>
/// password 鎺т欢銆?
/// </summary>
/// <remarks>
/// 鑷 姩鐢熸垚鐨勫瓧娈点??
/// 鑻ヨ 杩涜 淇 敼锛岃 灏嗗瓧娈靛0鏄庝粠璁捐 鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲??
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlInputPassword password;
/// <summary>
/// loginw 鎺т欢銆?
/// </summary>
/// <remarks>
/// 鑷 姩鐢熸垚鐨勫瓧娈点??
/// 鑻ヨ 杩涜 淇 敼锛岃 灏嗗瓧娈靛0鏄庝粠璁捐 鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲??
/// </remarks>
protected global::System.Web.UI.WebControls.Button loginw;
}
}
乱码是一些无关紧要的说明
哪位告诉我一下加密方式或者帮我解一下算法,我蛋都要碎了。。 --------------------编程问答-------------------- 这可能是编码问题吧,把gb2312换成utf-8 --------------------编程问答--------------------
S95DA8JK9M+5Fp0+HYpXBw==
sWm7vu4iJUdazAsD5PRaLw==
这2个是密码,UTF8也不行 --------------------编程问答-------------------- 4BDE4303C24AF4CFB9169D3E1D8A5707 --对应你的 S95DA8JK9M+5Fp0+HYpXBw==
B169BBBEEE2225475ACC0B03E4F45A2F --对应你的 sWm7vu4iJUdazAsD5PRaLw==
在线MD5 没有破解出来,估计不是常用明文加密。
我看代码
string[] userlogin = userBLL.UserLogins(name.Value.Trim(), password.Value.Trim());
这里就是加密吧,如果有数据库,跟踪一下,看看数据库里面是不是存有32位长MD5码?
你可以看看数据里面是不是这种规律?
如果有,替换成123的密文试试吧。
202cb962ac59075b964b07152d234b70 --我测试的123 字符符串
--------------------编程问答--------------------
那么,您的这个MD5怎么转换成24位的啊,我用BASE64弄出来老长了。
说起来,这个数据库也很奇怪,新添加的数据在表里10分钟之后就查不到了,里面只显示一条很老的 --------------------编程问答--------------------
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using DAL;
namespace BLL
{
public class userBLL
{
/// <summary>
/// 添加
/// </summary>
public static SqlHelper sh = new SqlHelper();
public static stringBLL sb = new stringBLL();
public static int AddUser(string username, string password, DateTime pubtime)
{
string value = string.Format("'{0}','{1}','{2}'", username, sb.MD5(password), pubtime);
SqlParameter[] spar = SetSqlParsDAL.SetInsertPars("t_User", "Username,Password,Writetime", value);
return sh.GetQuery("Pr_Insert", spar);
}
/// <summary>
/// 删除
/// </summary>
public static int DeleteUser(int id)
{
string sql = "Pr_Delete";
SqlParameter[] par = SetSqlParsDAL.SetDeletePars("t_User", "id=" + id);
return sh.GetQuery(sql, par);
}
/// <summary>
/// 修改密码
/// </summary>
public static int UpdatePassword(int id, string password)
{
string value = string.Format("Password='{0}'", sb.MD5(password));
SqlParameter[] spar = SetSqlParsDAL.SetUpdatePars("t_User", value, "id=" + id);
return sh.GetQuery("Pr_Update", spar);
}
/// <summary>
/// 查询
/// </summary>
public static DataTable GetUser(string where, string order)
{
DataSet ds = null;
SqlParameter[] par = SetSqlParsDAL.SetGetDataPars("t_User", "*", where, order);
ds= sh.GetDataSet("Pr_GetData", par);
return ds.Tables[0];
}
/// <summary>
/// 用户登录
/// </summary>
/// <param name="username"></param>
/// <param name="password"></param>
/// <returns></returns>
public static string[] UserLogins(string username, string password)
{
string[] user = new string[2];
//对密码进行加密处理
password = sb.MD5(password);
username = sb.SqlEncode(username, 0);
try
{
SqlParameter[] par = {
new SqlParameter("@Table", "t_User"),
new SqlParameter("@Fields","*"),
new SqlParameter("@Where",string.Format(" where Username = '{0}' and Password = '{1}'",username,password)),
new SqlParameter("@Order","")
};
DataTable dt = sh.GetDataSet("Pr_GetData", par, CommandType.StoredProcedure).Tables[0];
if (dt.Rows.Count > 0)
{
user[0] = dt.Rows[0]["id"].ToString();
user[1] = dt.Rows[0]["username"].ToString();
}
}
catch
{ }
return user;
}
}
}
这个是USERBLL.cs
加密方式是MD5 --------------------编程问答-------------------- /// <summary>
/// 对密码进行MD5加密
/// </summary>
/// <param name="Str">明文</param>
/// <returns>添加密码后缀字符串后的密文</returns>
public string MD5(string Str)
{
return MD5(Str, false);
}
/// <param name="Old">是否判断旧密码,旧密码判断不加入密码后缀字符串</param>
public string MD5(string Str,bool Old)
{
System.Security.Cryptography.MD5 md5 = System.Security.Cryptography.MD5.Create();
byte[] bytes = new byte[16];
System.Text.ASCIIEncoding asc = new System.Text.ASCIIEncoding();
if (Old == true)
{
bytes = md5.ComputeHash(asc.GetBytes(Str));
}
else
{
bytes = md5.ComputeHash(asc.GetBytes(Str + PassExt));
}
return Convert.ToBase64String(bytes);
}
/// <summary>
/// 使用SHA1算法求加密
/// </summary>
/// <param name="text">明文</param>
/// <returns>添加密码后缀字符串后的密文</returns>
public string SHA1(string Str)
{
return System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(Str + PassExt, "SHA1");
}
终于找到加密方式了,果然很蛋疼……
补充:.NET技术 , ASP.NET