当前位置:首页 » 密码管理 » vsmd5加密

vsmd5加密

发布时间: 2022-04-20 15:48:36

❶ VS2005自带的MD5加密安全吗

MD5散列算法都是一样的,所以在安全性上都一样,没有区别
-----------------------------------------------------------------------------------
wings_lee:
这个算法可以制造相同的散列值,本来也没什么新鲜的嘛,N年前这事就不是新闻了
MD5除了作身份验证之外还有的是用途,而且还可以加Salt。
试想你想篡改报文,为了让报文和校验部分吻合就找了一段字节流发出去,这段字节流本身却可能没有任何意义,而他又不能从散列值恢复出报文,那就不是真正意义上的破译。

❷ VS2013中c语言md5加密函数怎么调用

1、主要就是调用库函数,MD5加密说到底也是函数计算,没有什么思路的问题,了解md5的发明算法,本质是一个数学问题。

2、例程:

#ifndefMD5_H
#defineMD5_H

typedefstruct
{
unsignedintcount[2];
unsignedintstate[4];
unsignedcharbuffer[64];
}MD5_CTX;
#defineF(x,y,z)((x&y)|(~x&z))
#defineG(x,y,z)((x&z)|(y&~z))
#defineH(x,y,z)(x^y^z)
#defineI(x,y,z)(y^(x|~z))
#defineROTATE_LEFT(x,n)((x<<n)|(x>>(32-n)))
#defineFF(a,b,c,d,x,s,ac)
{
a+=F(b,c,d)+x+ac;
a=ROTATE_LEFT(a,s);
a+=b;
}
#defineGG(a,b,c,d,x,s,ac)
{
a+=G(b,c,d)+x+ac;
a=ROTATE_LEFT(a,s);
a+=b;
}
#defineHH(a,b,c,d,x,s,ac)
{
a+=H(b,c,d)+x+ac;
a=ROTATE_LEFT(a,s);
a+=b;
}
#defineII(a,b,c,d,x,s,ac)
{
a+=I(b,c,d)+x+ac;
a=ROTATE_LEFT(a,s);
a+=b;
}
voidMD5Init(MD5_CTX*context);
voidMD5Update(MD5_CTX*context,unsignedchar*input,unsignedintinputlen);
voidMD5Final(MD5_CTX*context,unsignedchardigest[16]);
voidMD5Transform(unsignedintstate[4],unsignedcharblock[64]);
voidMD5Encode(unsignedchar*output,unsignedint*input,unsignedintlen);
voidMD5Decode(unsignedint*output,unsignedchar*input,unsignedintlen);

#endif
源文件md5.c
#include<memory.h>
#include"md5.h"

unsignedcharPADDING[]={0x80,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};

voidMD5Init(MD5_CTX*context)
{
context->count[0]=0;
context->count[1]=0;
context->state[0]=0x67452301;
context->state[1]=0xEFCDAB89;
context->state[2]=0x98BADCFE;
context->state[3]=0x10325476;
}
voidMD5Update(MD5_CTX*context,unsignedchar*input,unsignedintinputlen)
{
unsignedinti=0,index=0,partlen=0;
index=(context->count[0]>>3)&0x3F;
partlen=64-index;
context->count[0]+=inputlen<<3;
if(context->count[0]<(inputlen<<3))
context->count[1]++;
context->count[1]+=inputlen>>29;

if(inputlen>=partlen)
{
memcpy(&context->buffer[index],input,partlen);
MD5Transform(context->state,context->buffer);
for(i=partlen;i+64<=inputlen;i+=64)
MD5Transform(context->state,&input[i]);
index=0;
}
else
{
i=0;
}
memcpy(&context->buffer[index],&input[i],inputlen-i);
}
voidMD5Final(MD5_CTX*context,unsignedchardigest[16])
{
unsignedintindex=0,padlen=0;
unsignedcharbits[8];
index=(context->count[0]>>3)&0x3F;
padlen=(index<56)?(56-index):(120-index);
MD5Encode(bits,context->count,8);
MD5Update(context,PADDING,padlen);
MD5Update(context,bits,8);
MD5Encode(digest,context->state,16);
}
voidMD5Encode(unsignedchar*output,unsignedint*input,unsignedintlen)
{
unsignedinti=0,j=0;
while(j<len)
{
output[j]=input[i]&0xFF;
output[j+1]=(input[i]>>8)&0xFF;
output[j+2]=(input[i]>>16)&0xFF;
output[j+3]=(input[i]>>24)&0xFF;
i++;
j+=4;
}
}
voidMD5Decode(unsignedint*output,unsignedchar*input,unsignedintlen)
{
unsignedinti=0,j=0;
while(j<len)
{
output[i]=(input[j])|
(input[j+1]<<8)|
(input[j+2]<<16)|
(input[j+3]<<24);
i++;
j+=4;
}
}
voidMD5Transform(unsignedintstate[4],unsignedcharblock[64])
{
unsignedinta=state[0];
unsignedintb=state[1];
unsignedintc=state[2];
unsignedintd=state[3];
unsignedintx[64];
MD5Decode(x,block,64);
FF(a,b,c,d,x[0],7,0xd76aa478);/*1*/
FF(d,a,b,c,x[1],12,0xe8c7b756);/*2*/
FF(c,d,a,b,x[2],17,0x242070db);/*3*/
FF(b,c,d,a,x[3],22,0xc1bdceee);/*4*/
FF(a,b,c,d,x[4],7,0xf57c0faf);/*5*/
FF(d,a,b,c,x[5],12,0x4787c62a);/*6*/
FF(c,d,a,b,x[6],17,0xa8304613);/*7*/
FF(b,c,d,a,x[7],22,0xfd469501);/*8*/
FF(a,b,c,d,x[8],7,0x698098d8);/*9*/
FF(d,a,b,c,x[9],12,0x8b44f7af);/*10*/
FF(c,d,a,b,x[10],17,0xffff5bb1);/*11*/
FF(b,c,d,a,x[11],22,0x895cd7be);/*12*/
FF(a,b,c,d,x[12],7,0x6b901122);/*13*/
FF(d,a,b,c,x[13],12,0xfd987193);/*14*/
FF(c,d,a,b,x[14],17,0xa679438e);/*15*/
FF(b,c,d,a,x[15],22,0x49b40821);/*16*/

❸ Asp.net的MD5加密,可怎么解密呢(C#)

史上MD5解密之最快方法整理-md5在线加密解密一般来说,形如1e4dc79d489e86b2的16位或者32位密码就是经过MD5加密的,(当然也有特殊,比如DVBBS在登陆时候会先产生一个16位的随机密码,当然,这个密码还是和MD5密码的形式有点区别,相同的是都是16位的数字+字母组合 。); 这个一般来说可以用一个叫dv.exe的工具来破解。他可以破解加密前是10位以下的纯数字或者纯字母,破解纯数字的,速度超快,但是纯字母的,就慢了,当然他还有其他功能,但是其他功能没什么特别之处,所以不说。 破解纯数字时候:dv -p a.txt -b num 纯字母: dv -p a.txt -b char [以上的两a.txt是保存要破解的密码存放的文件,存放格式是每行一组,例如: 1e4dc79d489e86b2 admin 1e4dc79d489e86b3 admin2 注意:在要破解的密码和后面的admin 用户名之间有一个空格。 当然还有很多字典破解 的工具,不建议使用。 还有就是有很多网站提供MD5密码查询,比如: http://www.md5lookup.com/?category=01-3&searck=on http://www.md5.org.cn http://www.xmd5.org/ http://www.milw0rm.com/md5/info.php http://www.neeao.com/md5/ http://md5.mmkey.com/ http://gdataonline.com/seekhash.php http://www.plain-text.info/search.php http://passcracking.com/Good_values_list.asp http://www.hashchecker.com/index.php?_sls=search_hash http://md5.rednoize.com/ http://us.md5.crysm.net/ http://uploadpage.net/ap/php/projects/rt/addhash.php http://www.cmd5.com 这个是我经常用的 http://www.md5lookup.com/ (对数字破解比较好) http://md5.rednoize.com/ (对字母破解比较好) http://nz.md5.crysm.net/ (从1到4位数字)- 好像关了 http://us.md5.crysm.net/ (美英字典的破解收集和IP地址) http://www.xmd5.org/ (对数字破解比较好) http://gdataonline.com/ (估计是基础字典的破解) http://www.hashchecker.com/ (这个倒是说得很厉害,但是在实际中,很多次我在这里都找不到) http://passcracking.ru/ http://www.milw0rm.com/md5 http://plain-text.info/ (这个是我比较喜欢一个.也请你提交一些已破解的MD5) http://www.securitystats.com/tools/hashcrack.php (多种破解.我试过...没有一次破解出来.非常没用) http://www.schwett.com/md5/ - (破解挪威人(Norwegian)字典) http://passcrack.spb.ru/ http://shm.pl/md5/ http://www.und0it.com/ http://www.neeao.com/md5/ http://md5.benramsey.com/ http://www.md5decrypt.com/ http://md5.khrone.pl/ http://www.csthis.com/md5/index.php http://www.md5decrypter.com/ http://www.md5encryption.com/ http://www.md5database.net/ http://md5.xpzone.de/ http://md5.geeks.li/ http://www.hashreverse.com/ http://www.cmd5.com/english.aspx http://www.md5.altervista.org/ http://md5.overclock.ch/biz/index.php?p=md5crack&l=en http://alimamed.pp.ru/md5/ (如果你看不懂俄文,我告诉你,把你的MD5放到第2个格子) http://md5crack.it-helpnet.de/index.php?op=add (德国的....) http://cijfer.hua.fi/ (Projects->md5 reverse lookup) http://shm.hard-core.pl/md5/ http://www.mmkey.com/md5/HOME.ASP http://www.thepanicroom.org/index.php?view=cracker http://rainbowtables.net/services/results.php (我试过破过几次在这里) http://rainbowcrack.com/ (需要捐献) http://www.securitydb.org/cracker/ http://passwordsecuritycenter.com/index.php?main_page=proct_info&cPath=3&procts_id=7 这个是证明他们的破解商品的质量..好让你来买这个破解程序...但是...只要能破解到即可.你又不一定要买.. http://0ptix.co.nr/md5 http://www.abcbit.com/md5/ http://mao8.com/Checkmd5.asp 前两个是今天入侵刚用过的算是比较好使 下面的是以前搜到的,一般。 http://www.xmd5.com/index_cn.htm http://www.md5lookup.com/?category=01-3&searck=on http://www.md5.org.cn http://www.xmd5.org/ http://www.milw0rm.com/md5/info.php http://www.neeao.com/md5/ http://md5.mmkey.com/ http://gdataonline.com/seekhash.php http://www.plain-text.info/search.php http://passcracking.com/Good_values_list.asp http://www.hashchecker.com/index.php?_sls=search_hash http://md5.rednoize.com/ http://us.md5.crysm.net/ http://uploadpage.net/ap/php/projects/rt/addhash.php

❹ VS2008 MD5加密错误

第一个错误从你发的代码中找不到,你发的代码就只有一个错误,就是方法重名了。两个GetMd5,改一个名称即可

❺ vb如何用unicode编码实现MD5加密

''' <summary>生成32位加密字符串</summary>
''' <param name="strSource">需要加密的字符串</param>
''' <returns>加密完成的32位字符串</returns>
''' <remarks></remarks>
Friend Function creatMD5(ByRef strSource As String)
Dim dataToHash As Byte() = (New System.Text.UnicodeEncoding).GetBytes(strSource.ToCharArray)
Dim hashvalue As Byte() = CType(Cryptography.CryptoConfig.CreateFromName("MD5"), Cryptography.HashAlgorithm).ComputeHash(dataToHash)
Dim strSB As New System.Text.StringBuilder
For i = 0 To hashvalue.Length - 1
strSB.Append(hashvalue(i).ToString("x2"))
Next
creatMD5 = strSB.ToString
Return creatMD5
End Function

调用 :creatMD5("md5")
得到 :
如果一定要大写,改一下:creatMD5 = strSB.ToString.ToUpper

❻ 求用VS2010中VB写的MD5加密代码!!! [email protected] 网上的代码我方进去都用不起!!

我用的是VS2005,下面代码可以用,估计你也可以的吧?
窗体添加2个TEXTBOX, 2个RadioButton,一个按钮

Public Class Form1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim w As Integer
If RadioButton1.Checked = True Then
w = 16
ElseIf RadioButton2.Checked = True Then
w = 32
End If

TextBox2.Text = MD5(TextBox1.Text, w)

End Sub

Public Shared Function MD5(ByVal strSource As String, ByVal Code As Int16) As String
'这里用的是ascii编码密码原文,如果要用汉字做密码,可以用UnicodeEncoding,但会与ASP中的MD5函数不兼容
Dim dataToHash As Byte() = (New System.Text.ASCIIEncoding).GetBytes(strSource)
Dim hashvalue As Byte() = CType(System.Security.Cryptography.CryptoConfig.CreateFromName("MD5"), System.Security.Cryptography.HashAlgorithm).ComputeHash(dataToHash)
Dim i As Integer
Select Case Code
Case 16 '选择16位字符的加密结果
For i = 4 To 11
MD5 += Hex(hashvalue(i)).ToLower
Next
Case 32 '选择32位字符的加密结果
For i = 0 To 15
MD5 += Hex(hashvalue(i)).ToLower
Next
Case Else 'Code错误时,返回全部字符串,即32位字符
For i = 0 To hashvalue.Length - 1
MD5 += Hex(hashvalue(i)).ToLower
Next
End Select
End Function
End Class

❼ vs.net2005写的.DLL其他语言可以引用吗

如果没有涉及到.net的框架函数的话 还是可以用的。
MD5加密函数是由.net提供的。在MSDN上说明了。
但是如果是你自己用VC.net自己实现的的话就不会由这个问题了。

❽ 求在vs2005中能用的用vb写的md5加密代码

先要添加引用system.web
然后
dim strPwd as string= System.Web.Security.FormsAuthentication.("123456", "md5")

❾ 求VB2010中可用的MD5加密代码(先给10分,保证:满意答案附加50分以上)

Function getMd5Hash(ByVal input As String) As String
Dim md5Hasher As New MD5CryptoServiceProvider()
'下面这一句是用默认的字符串编码方式进行md5加密
'对编码方式不要求的话,可以直接写成
'Dim md5data As Byte() = md5Hasher.ComputeHash(input)
Dim md5data As Byte() = md5Hasher.ComputeHash(Encoding.Default.GetBytes(input))
Dim md5Builder As New StringBuilder()
Dim i As Integer
For i = 0 To md5data .Length - 1
md5Builder .Append(md5data (i).ToString())
Next i
Return md5Builder .ToString()
End Function
具体说明请参看MSDN.
http://msdn.microsoft.com/zh-cn/library/system.security.cryptography.md5cryptoserviceprovider(v=VS.100).aspx

热点内容
监控存储服务器如何调试 发布:2025-05-15 12:36:30 浏览:216
一万级净化车间有哪些配置 发布:2025-05-15 12:16:41 浏览:97
javazip解压加密 发布:2025-05-15 12:15:02 浏览:941
dnf服务器存放什么信息 发布:2025-05-15 12:11:07 浏览:216
办公室视频剧本脚本 发布:2025-05-15 12:03:51 浏览:490
编译失败什么意思 发布:2025-05-15 11:58:18 浏览:87
lcs脚本官网 发布:2025-05-15 11:56:15 浏览:88
三国志战略版打9级矿什么配置 发布:2025-05-15 11:41:29 浏览:953
安卓加速器怎么关 发布:2025-05-15 11:38:16 浏览:465
密码锁坏了如何打开 发布:2025-05-15 11:30:19 浏览:838