反查ACC数据库的密码?

以下是HTML网页特效代码,点击运行按钮可查看效果:
[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]

sqlnono.asp代码

复制内容到剪贴板

以下是引用片段:
代码:
lodo_gqno,lodo_ServerUrl,lodo_AreaUrl,lodo_SysInitialValue,lodo_ServerName,lodo_Edition,lodo_VisitTimes,lodo_rzStr,lodo_AddGoodsRest,lodo_AddOrderRest,lodo_Usertgno,lodo_scjtno,lodo_qtbqno,lodo_ddkcno,lodo_yhhano,lodo_MaskOperactionno,lodo_gwjscno,lodo_yhjscno,lodo_OldTime,lodo_gqSTime,lodo_gqETime,lodo_UsertgSTime,lodo_UsertgETime,lodo_scjtSTime,lodo_scjtETime,lodo_qtbqSTime,lodo_qtbqETime,lodo_ddkcSTime,lodo_ddkcETime,lodo_yhhaSTime,lodo_yhhaETime,lodo_MaskOperactionSTime,lodo_MaskOperactionETime,lodo_gwjscSTime,lodo_gwjscETime,lodo_yhjscSTime,lodo_yhjscETime,lodo_PassStr,lodo_Web_ButtomStr
Public lodo_Version,lodo_DueTime,db,Databasename
IncConstStr = Server.MapPath(lodo_ConstStr & "inc/Const.asp")
If Checkfile(IncConstStr) Then
WriteStr = ReadText(IncConstStr)
WriteStr = DeCrypt(WriteStr, lodo_ConstStr)
if len(WriteStr)>0 then execute (WriteStr) end if
Else
If lodo_Chconst = 1 Then
Response.Write "由于此" & lodo_ConstStr & "inc/Const.asp文件不存在,所以无法浏览网站!"
Response.End
End If
End If
Versionfile = Server.MapPath(lodo_ConstStr & "inc/Version.inc")
If Checkfile(Versionfile) Then
WriteStr = ReadText(Versionfile)
if len(WriteStr)>0 then execute (WriteStr) end if
End If
lodo_Version = lodo_SysName & lodo_SysVersion
Select Case lodo_gqno
Case 0
lodo_DueTime = "已过期"
Case 1
If lodo_gqETime >= Date Then lodo_DueTime = lodo_gqETime & "将到期" Else lodo_DueTime = "已过期" End If
Case 2
   lodo_DueTime = "永不过期"
End Select
If lodo_DatabaseType = 0 Then
    lodo_now = "now()"
    db = lodo_ConstStr & lodo_dbfile & "/" & lodo_Access_Name & ""
    Databasename = Server.MapPath("" & db & "")
    Connstr = "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password=" & GetBinaryPass(lodo_ConstStr) & ";Data Source=" & Databasename & ""
Else
    lodo_now = "getdate()"
    Connstr = "PROVIDER=SQLOLEDB;DATA SOURCE=" & lodo_SQL_IPStr & ";UID=" & lodo_SQL_UserStr & ";PWD=" & lodo_SQL_UPass & ";DATABASE=" & lodo_SQL_Database & " " 
End If
set Conn=Server.CreateObject("ADODB.Connection")
On Error Resume Next
Conn.Open Connstr
If Err <> 0 Then
    Err=0
    Set Conn = Nothing
    If lodo_DatabaseType = 0 Then Response.Write "Access数据库连接出错。请检查连接字串!" Else Response.Write "数据库连接出错,请检查连接字串。或者还未安装,点击这里进入<a href=’"&lodo_ConstStr&"install/index.html’>系统安装</a>" End If
    Response.End
End If
Set ld_rs = Conn.Execute("select BackStageData,BServerData,StageData from lodo_SetUp")
If Not (ld_rs.EOF Or ld_rs.BOF) Then
lodo_StageData = ld_rs("StageData")
lodo_BackStageData = ld_rs("BackStageData")
lodo_BServerData = ld_rs("BServerData")
End If
Set ld_rs = Nothing
If InStr(LCase(lodo_ServerUrl), "http://") <= 0 Then lodo_ServerUrl = "http://www.lodoeshop.com/user/update.asp?" End If
Function loadKey(CryptStr, keypath)
Dim ld_Key,keyFile,fso,f,FileName,ts,g_KeyLocation,I, k,TempKey,LodoKey, NewLodoKey, LodoRightNum
LodoKey = "www.lodoeshop.com"
LodoRightNum = 3
g_KeyLocation = keypath & "inc/key.txt"
FileName = Server.MapPath(g_KeyLocation)
Set fso = Server.CreateObject("Scripting.FileSystemObject")
If fso.fileexists(FileName) Then
Set f = fso.GetFile(FileName)
Set ts = f.OpenAsTextStream(1, -2)
Do While Not ts.AtEndOfStream
keyFile = keyFile & ts.ReadLine
Loop
ld_Key = ""
keyFile = Mid(keyFile, 1, Len(CryptStr))
k = 1
For I = 1 To Len(keyFile)
TempKey = Asc(Mid(keyFile, I, 1))
If k > Len(LodoKey) Then
k = 1
End If
NewLodoKey = Asc(Mid(LodoKey, k, 1)) + LodoRightNum
Do While NewLodoKey > 255
NewLodoKey = NewLodoKey - 255
Loop
ld_Key = ld_Key & TempKey & Chr(NewLodoKey)
Next
End If
loadKey = ld_Key
End Function
Function EnCrypt(strCryptThis, keypath)
Dim strChar,iKeyChar,iStringChar,I,g_Key,iCryptChar,strEncrypted
g_Key = loadKey(strCryptThis, keypath)
For I = 1 To len(strCryptThis)
iKeyChar = Asc(Mid(g_Key, I, 1))
iStringChar = Asc(Mid(strCryptThis, I, 1))
iCryptChar = iKeyChar Xor iStringChar
strEncrypted = strEncrypted & Chr(iCryptChar)
Next
EnCrypt = strEncrypted
End Function
Function DeCrypt(strEncrypted, keypath)
Dim strChar,iKeyChar,iStringChar,I,g_Key,iDeCryptChar
g_Key = loadKey(strEncrypted, keypath) 
For I = 1 To len(strEncrypted) 
iKeyChar = (Asc(Mid(g_Key, I, 1)))
iStringChar = Asc(Mid(strEncrypted, I, 1))
iDeCryptChar = iKeyChar Xor iStringChar
strDecrypted = strDecrypted & Chr(iDeCryptChar) 
Next
DeCrypt = strDecrypted
End Function
Function GetBinaryPass(passinc)
Dim PassUrl
Dim fso
Dim fl
Dim objStream
Dim Password, PasswordStr
PassUrl = Server.MapPath(passinc & "inc/") & "\wwwlodocom" 
Set fso = Server.CreateObject("Scripting.FileSystemObject")
Set fl = fso.GetFile(PassUrl) 
Set objStream = Server.CreateObject("ADODB.Stream")
objStream.Open
objStream.Type = 1
objStream.LoadFromFile PassUrl
PasswordStr = objStream.Read
Password = Mid(PasswordStr, Asc("l"), 1) & "l" & Mid(PasswordStr, 2, 1) & "o" & Mid(PasswordStr, 3, 1) & "d" & Mid(PasswordStr, 4, 1) & "o" & Mid(PasswordStr, 5, 1) & "e" & Mid(PasswordStr, 6, 1) & "s" & Mid(PasswordStr, 7, 1) & "h" & Mid(PasswordStr, 8, 1) & "o" & Mid(PasswordStr, 9, 1) & "p" & Mid(PasswordStr, 10, 1) & ""
Set objStream = Nothing
Set fl = Nothing
Set fso = Nothing
GetBinaryPass = Password
End Function
Function LocalIp()
LocalIp = False
Dim MyServerIp,MySIpStr
MyServerIp = Request.ServerVariables("LOCAL_ADDR")
If MyServerIp = "127.0.0.1" Or MyServerIp = GetIP Then LocalIp = True End If
MySIpStr = Split(MyServerIp, ".")
Select Case Trim(MySIpStr(0))
Case "192"
If Trim(MySIpStr(1)) = "168" Then LocalIp = True End If
Case "127"
If Int(MySIpStr(1)) >= 16 And Int(MySIpStr(1)) <= 31 Then LocalIp = True End If
Case "10"
LocalIp = True
End Select
End Function

sqlnono.asp代码
复制内容到剪贴板

代码:

lodo_gqno,lodo_ServerUrl,lodo_AreaUrl,lodo_SysInitialValue,lodo_ServerName,lodo_Edition,lodo_VisitTimes,lodo_rzStr,lodo_AddGoodsRest,lodo_AddOrderRest,lodo_Usertgno,lodo_scjtno,lodo_qtbqno,lodo_ddkcno,lodo_yhhano,lodo_MaskOperactionno,lodo_gwjscno,lodo_yhjscno,lodo_OldTime,lodo_gqSTime,lodo_gqETime,lodo_UsertgSTime,lodo_UsertgETime,lodo_scjtSTime,lodo_scjtETime,lodo_qtbqSTime,lodo_qtbqETime,lodo_ddkcSTime,lodo_ddkcETime,lodo_yhhaSTime,lodo_yhhaETime,lodo_MaskOperactionSTime,lodo_MaskOperactionETime,lodo_gwjscSTime,lodo_gwjscETime,lodo_yhjscSTime,lodo_yhjscETime,lodo_PassStr,lodo_Web_ButtomStr
Public lodo_Version,lodo_DueTime,db,Databasename
IncConstStr = Server.MapPath(lodo_ConstStr & "inc/Const.asp")
If Checkfile(IncConstStr) Then
WriteStr = ReadText(IncConstStr)
WriteStr = DeCrypt(WriteStr, lodo_ConstStr)
if len(WriteStr)>0 then execute (WriteStr) end if
Else
If lodo_Chconst = 1 Then
Response.Write "由于此" & lodo_ConstStr & "inc/Const.asp文件不存在,所以无法浏览网站!"
Response.End
End If
End If
Versionfile = Server.MapPath(lodo_ConstStr & "inc/Version.inc")
If Checkfile(Versionfile) Then
WriteStr = ReadText(Versionfile)
if len(WriteStr)>0 then execute (WriteStr) end if
End If
lodo_Version = lodo_SysName & lodo_SysVersion
Select Case lodo_gqno
Case 0
lodo_DueTime = "已过期"
Case 1
If lodo_gqETime >= Date Then lodo_DueTime = lodo_gqETime & "将到期" Else lodo_DueTime = "已过期" End If
Case 2
   lodo_DueTime = "永不过期"
End Select
If lodo_DatabaseType = 0 Then
    lodo_now = "now()"
    db = lodo_ConstStr & lodo_dbfile & "/" & lodo_Access_Name & ""
    Databasename = Server.MapPath("" & db & "")
    Connstr = "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password=" & GetBinaryPass(lodo_ConstStr) & ";Data Source=" & Databasename & ""
Else
    lodo_now = "getdate()"
    Connstr = "PROVIDER=SQLOLEDB;DATA SOURCE=" & lodo_SQL_IPStr & ";UID=" & lodo_SQL_UserStr & ";PWD=" & lodo_SQL_UPass & ";DATABASE=" & lodo_SQL_Database & " "
End If
set Conn=Server.CreateObject("ADODB.Connection")
On Error Resume Next
Conn.Open Connstr
If Err <> 0 Then
    Err=0
    Set Conn = Nothing
    If lodo_DatabaseType = 0 Then Response.Write "Access数据库连接出错。请检查连接字串!" Else Response.Write "数据库连接出错,请检查连接字串。或者还未安装,点击这里进入<a href='"&lodo_ConstStr&"install/index.html'>系统安装</a>" End If
    Response.End
End If
Set ld_rs = Conn.Execute("select BackStageData,BServerData,StageData from lodo_SetUp")
If Not (ld_rs.EOF Or ld_rs.BOF) Then
lodo_StageData = ld_rs("StageData")
lodo_BackStageData = ld_rs("BackStageData")
lodo_BServerData = ld_rs("BServerData")
End If
Set ld_rs = Nothing
If InStr(LCase(lodo_ServerUrl), "http://") <= 0 Then lodo_ServerUrl = "http://www.lodoeshop.com/user/update.asp?" End If
Function loadKey(CryptStr, keypath)
Dim ld_Key,keyFile,fso,f,FileName,ts,g_KeyLocation,I, k,TempKey,LodoKey, NewLodoKey, LodoRightNum
LodoKey = "www.lodoeshop.com"
LodoRightNum = 3
g_KeyLocation = keypath & "inc/key.txt"
FileName = Server.MapPath(g_KeyLocation)
Set fso = Server.CreateObject("Scripting.FileSystemObject")
If fso.fileexists(FileName) Then
Set f = fso.GetFile(FileName)
Set ts = f.OpenAsTextStream(1, -2)
Do While Not ts.AtEndOfStream
keyFile = keyFile & ts.ReadLine
Loop
ld_Key = ""
keyFile = Mid(keyFile, 1, Len(CryptStr))
k = 1
For I = 1 To Len(keyFile)
TempKey = Asc(Mid(keyFile, I, 1))
If k > Len(LodoKey) Then
k = 1
End If
NewLodoKey = Asc(Mid(LodoKey, k, 1)) + LodoRightNum
Do While NewLodoKey > 255
NewLodoKey = NewLodoKey - 255
Loop
ld_Key = ld_Key & TempKey & Chr(NewLodoKey)
Next
End If
loadKey = ld_Key
End Function
Function EnCrypt(strCryptThis, keypath)
Dim strChar,iKeyChar,iStringChar,I,g_Key,iCryptChar,strEncrypted
g_Key = loadKey(strCryptThis, keypath)
For I = 1 To len(strCryptThis)
iKeyChar = Asc(Mid(g_Key, I, 1))
iStringChar = Asc(Mid(strCryptThis, I, 1))
iCryptChar = iKeyChar Xor iStringChar
strEncrypted = strEncrypted & Chr(iCryptChar)
Next
EnCrypt = strEncrypted
End Function
Function DeCrypt(strEncrypted, keypath)
Dim strChar,iKeyChar,iStringChar,I,g_Key,iDeCryptChar
g_Key = loadKey(strEncrypted, keypath)
For I = 1 To len(strEncrypted)
iKeyChar = (Asc(Mid(g_Key, I, 1)))
iStringChar = Asc(Mid(strEncrypted, I, 1))
iDeCryptChar = iKeyChar Xor iStringChar
strDecrypted = strDecrypted & Chr(iDeCryptChar)
Next
DeCrypt = strDecrypted
End Function
Function GetBinaryPass(passinc)
Dim PassUrl
Dim fso
Dim fl
Dim objStream
Dim Password, PasswordStr
PassUrl = Server.MapPath(passinc & "inc/") & "\wwwlodocom"
Set fso = Server.CreateObject("Scripting.FileSystemObject")
Set fl = fso.GetFile(PassUrl)
Set objStream = Server.CreateObject("ADODB.Stream")
objStream.Open
objStream.Type = 1
objStream.LoadFromFile PassUrl
PasswordStr = objStream.Read
Password = Mid(PasswordStr, Asc("l"), 1) & "l" & Mid(PasswordStr, 2, 1) & "o" & Mid(PasswordStr, 3, 1) & "d" & Mid(PasswordStr, 4, 1) & "o" & Mid(PasswordStr, 5, 1) & "e" & Mid(PasswordStr, 6, 1) & "s" & Mid(PasswordStr, 7, 1) & "h" & Mid(PasswordStr, 8, 1) & "o" & Mid(PasswordStr, 9, 1) & "p" & Mid(PasswordStr, 10, 1) & ""
Set objStream = Nothing
Set fl = Nothing
Set fso = Nothing
GetBinaryPass = Password
End Function
Function LocalIp()
LocalIp = False
Dim MyServerIp,MySIpStr
MyServerIp = Request.ServerVariables("LOCAL_ADDR")
If MyServerIp = "127.0.0.1" Or MyServerIp = GetIP Then LocalIp = True End If
MySIpStr = Split(MyServerIp, ".")
Select Case Trim(MySIpStr(0))
Case "192"
If Trim(MySIpStr(1)) = "168" Then LocalIp = True End If
Case "127"
If Int(MySIpStr(1)) >= 16 And Int(MySIpStr(1)) <= 31 Then LocalIp = True End If
Case "10"
LocalIp = True
End Select
End Function

由于密码包含二进制形态,所以计算出密码也没用,只好把密码清空或更改掉。

以下是操作代码由于密码包含二进制形态,所以计算出密码也没用,只好把密码清空或更改掉。

以下是操作代码

以下是引用片段:
代码:
<%
Option Explicit
If Request.Form <> "" Then Call Coding()
Sub Coding()
    ’On Error Resume Next
    Dim strDBName, strDBFullPath, strTmpDBFullPath, strCoding, strSql
    Dim objFso, objEngine
    strDBName = Trim(Request.Form("dbname"))
    strDBFullPath = Server.MapPath(strDBName)
    strTmpDBFullPath = strDBFullPath & ".tmp"
    strCoding = Request.Form("coding")
    
    Set objFso = Server.CreateObject("Scripting.FileSystemObject")
    If objFso.FileExists(strDBFullPath) Then
        Set objEngine = Server.CreateObject("JRO.JetEngine")
        
        ’编解码
        Select Case strCoding
            Case "decode"
                objEngine.CompactDatabase "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strDBFullPath, "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password="& GetBinaryPass &";Data Source=" & strTmpDBFullPath
            Case "uncode"
                objEngine.CompactDatabase "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password="& GetBinaryPass &";Data Source=" & strDBFullPath , "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strTmpDBFullPath
        End Select
        Set objEngine = Nothing
        
        ’文件处理
        objFso.CopyFile strTmpDBFullPath, strDBFullPath
        objFso.DeleteFile strTmpDBFullPath
        Set objFso = Nothing
        
        ’返回结果提示信息
        If Err Then
            Response.Write "<div style=""font-weight:bold; color:#FF0000"">操作失败,请调试。</div>"
        Else
            If strCoding = "decode" Then
                Response.Write "<div style=""font-weight:bold; color:#FF0000"">数据库加密成功。</div>"
            Else
                Response.Write "<div style=""font-weight:bold; color:#FF0000"">数据库解密成功。</div>"
            End If
        End If
    Else
        Set objFso = Nothing
        Response.Write "<div style=""font-weight:bold; color:#FF0000"">数据库名称或路径不正常,操作取消。</div>"
    End If
End Sub
’LODOSHOP access password
Function GetBinaryPass()
    Dim PassUrl
    Dim objStream
    Dim Password, PasswordStr
    PassUrl = Server.MapPath(".") & "\wwwlodocom" 
    Set objStream = Server.CreateObject("ADODB.Stream")
    objStream.Open
    objStream.Type = 1
    objStream.LoadFromFile PassUrl
    PasswordStr = objStream.Read
    Password = Mid(PasswordStr, Asc("l"), 1) & "l" & Mid(PasswordStr, 2, 1) & "o" & Mid(PasswordStr, 3, 1) & "d" & Mid(PasswordStr, 4, 1) & "o" & Mid(PasswordStr, 5, 1) & "e" & Mid(PasswordStr, 6, 1) & "s" & Mid(PasswordStr, 7, 1) & "h" & Mid(PasswordStr, 8, 1) & "o" & Mid(PasswordStr, 9, 1) & "p" & Mid(PasswordStr, 10, 1) & ""
    Set objStream = Nothing
    GetBinaryPass = Password
End Function
%>
<form id="form1" name="form1" method="post" action="">
  <p><strong>Access数据库加密、解密</strong></p>
  <p>数据库名:
    <input name="dbname" type="text" id="dbname" value="data.mdb" />
  </p>
  <p>操作方向:
    <input name="coding" type="radio" value="decode" />
    加密
    <input type="radio" name="coding" value="uncode" />
  解密  </p>
  <p>
    <input type="submit" name="Submit" value="执行" />
  </p>
  <p>请将此文件,乐度数据库及inc/wwwlodocom放在具有读写权限的同一目录下执行</p>
</form>

时间: 2024-11-18 20:12:39

反查ACC数据库的密码?的相关文章

数据库用户名 密码和登录用户名和密码有什么区别

问题描述 数据库用户名 密码和登录用户名和密码有什么区别 数据库用户名 密码和登录用户名和密码有什么区别数据库用户名 密码和登录用户名和密码有什么区别 解决方案 yii 从数据库获取用户名.密码登录失败: 未知的用户名或错误密码.access数据库的用户名和密码的问题 解决方案二: 数据库用户名,密码就是你连接数据库的时候用的认证数据 登陆用户名密码指的什么,是数据库还是机器的 解决方案三: 这里我不知道你问的具体是哪个登录密码,如果你问的是对于数据库有不同的用户,比如 sys system h

采用Cloudera-Manager安装CDH时,采用内嵌数据库各数据库用户密码的保存位置

一.场景描述     在采用Cloudera-Manager安装cdh时,通常使用内嵌的PostgreSQL数据库.     Cloudera-Manager除了保存CDH集群的配置元数据的scm数据库外,还为Activity Monitor(活动监控).Service Monitor(服务监控).Report Manager(报告管理).Host Monitor(主机监控).Cloudera Navigator(Cloudera导航)等信息分别创建数据amon.smon.rmon.hmon.n

界面-列表增删查改数据库字段值

问题描述 列表增删查改数据库字段值 网页主界面页面上显示一些数据列表,然后我想对页面上的数据进行修改.修改后能够自动的对数据进行入库保存,而且是对已有的数据进行更新,数据库中没有的数据进行自动插入.而且最好是可复用性高,对任何数据表的任何数据字段都可以进行保存,并且更新条件最好是可以自定义设置.用JS+java实现,本人对代码只是略懂,最好是实现起来简单. 解决方案 这个问题实现的方法比较多,不过如果对于初学者,不管哪种实现方式,写代码都不简单.因为要从数据库取数,把数据显示在网页上,还需要获取

图片-注册后的用户,重登不了,数据库中密码乱码

问题描述 注册后的用户,重登不了,数据库中密码乱码 新手求帮助 解决方案 看下代码,密码被base64编码过. 解决方案二: 后台接受的密码就是乱码吧,调试的时候没有看么 解决方案三: 把后台代码发出来看看 解决方案四: 数据库中的密码是乱码,感觉像是加密以后的效果,看一下代码是不是加密了,如果加密的话,登陆时需要进行处理 解决方案五: 看看在后台有没有对密码字段做别的处理 比如用了加密方法或者别的混淆方式 如果有的话 你在登陆的时候需要处理一下 解决方案六: 看密文像是DES加密后的效果,看看

4种恶意软件反查杀高级技术 反病毒软件和APT解决方案都在为此头疼

在8月末,安全加报道了 恶意软件每天至少30万个变种,这些恶意软件的作者通常使用4种恶意软件反查杀技术 ,对抗各种检测扫描,今天我们接续来说更高级的 混淆技术 以及可用于检测回避式 恶意软件 的新方法和技术. 对抗反汇编和调试工具(防护程序) 恶意软件作者对恶意软件研究员的工作了如指掌且了解他们采用哪些工具定位威胁.例如,研究员和程序员经常采用反汇编程序和调试工具检测代码行为.多种工具和技术均可检测反汇编程序和调试工具,如Windows内置功能.很多此类技术旨在对攻击者进行防御,因为攻击者可能会

ip 域名 dns-ip反查域名是怎么实现的

问题描述 ip反查域名是怎么实现的 最近一直在研究IP反查域名,以前的帖子有的说是cn.bing出来,但我试了下,内容很少了.想知道那些网站的ip反查域名是怎么实现的.? 解决方案 其实还是DNS,只不过是一个反向查询机制

combobox-link中如何根据textBox反查comboBox中的序号?代码怎么实现?

问题描述 link中如何根据textBox反查comboBox中的序号?代码怎么实现? link中如何根据textBox反查comboBox中的序号?代码怎么实现? 解决方案 这个可以用循环遍历去搜索 foreach (var item in comboBox.Items) if (item == textBox.Text)

web ,acc数据库猜表名

问题描述 web ,acc数据库猜表名 最近几天在学web注入,随便找了一个网站练练手,在猜表名的地方卡住了,希望大神可以帮帮小白http://jwc.gcp.edu.cn/ 解决方案 猜表名应该是用字典进行处理的, 就是把常用的表名收集起来,一个一个进行测试!

把一个类集合的某条该类数据的某个字段值插入到textbox中,如何通过这个字段值反查得到该条特定的类

问题描述 把一个类集合的某条该类数据的某个字段值插入到textbox中,如何通过这个字段值反查得到该条特定的类,类集合里的每一条类数据是唯一的,而字段值不是唯一的,想用dictionary却不行,求一个思路,能不能在textbox插入这个字段值的时候能不能在这个字段值上绑定个类似唯一id的东西,那么这个字段值显示起来是个string,而实际还包含有一个id,方便我反查,请问怎么能做到,或者有什么好的思路 解决方案 解决方案二:可以用Dictionary啊,拿ID当Key,要显示的字段为Value