|
hi all,
I want to generate the MD5 of given Unicode Binary hash value.
its done in c# like:
MD5 md5Hash = MD5.Create();
byte[] md5Buf = System.Text.UnicodeEncoding.Unicode.GetBytes(binary_hash_value);
byte[] md5Hash_buf = md5Hash.ComputeHash(md5Buf);
string hashString = "";
for (int i = 0; i < md5Hash_buf.Length; i++)
{
hashString += Convert.ToString(md5Hash_buf[i], 16).PadLeft(2, '0');
}
hashString.PadLeft(32, '0');
textBox3.Text = hashString;
but its done in my vc++ project can anybody help me to do this.
thanks in advance.
|
|
|
|
|
In C/C++ you just treat the Unicode string as an array of bytes, no need for any conversion operations.
Veni, vidi, abiit domum
|
|
|
|
|
I need md5 of given string only the Unicode string not fulfill my requirement according to this code md5 value of hello "fd186dd49a16b1bf2bd2f44e495e14c9"
Unicode value is "680065006c006c006f00"
and in vc++ Unicode value of it "00680065006C006C006F"
how can I get here the its md5 value please assist me...
|
|
|
|
|
If your original string is in Unicode then the MD5 hash will not be the same as the ASCII representation. If it is a prerequisite for what you want to do then convert your text to ASCII before hashing. Take a look at Example C Program: Creating an MD5 Hash from File Content[^] for further help.
Veni, vidi, abiit domum
|
|
|
|
|
I want to generate "fd186dd49a16b1bf2bd2f44e495e14c9" from hex value of hello = 680065006c006c006f00
but I the example its generate md5 ="5d41402abc4b2a76b9719d911017c592" from value hello
please help
|
|
|
|
|
I already suggested that you can convert the Unicode characters to ASCII as a test sample. You may also like to spend some more time studying MD5 and how it is used.
Veni, vidi, abiit domum
|
|
|
|
|
Hi,
Hope you had a great Christmas holiday. Could not help but notice that '680065006c006c006f00' is an array of BYTE representing the unicode version of the string 'hello'. You can easily do this:
#define LENGTH 16
int _tmain(int argc, _TCHAR* argv[])
{
HCRYPTPROV p = 0;
HCRYPTHASH h = 0;
DWORD dwError=0;
if(CryptAcquireContext(&p,NULL,NULL,PROV_RSA_FULL,CRYPT_VERIFYCONTEXT))
{
DWORD length = LENGTH;
BYTE md5[LENGTH];
BYTE buf[LENGTH];
if(CryptCreateHash(p,CALG_MD5, 0, 0, &h))
{
wsprintfW((LPWSTR)buf,L"hello");
if(CryptHashData(h, buf, wcslen((LPWSTR)buf) * sizeof(WCHAR), 0))
{
if(0 == dwError && CryptGetHashParam(h, HP_HASHVAL, md5, &length, 0))
{
std::cout << std::setfill('0');
std::for_each(md5,md5+LENGTH,
[](BYTE b)
{
std::cout << std::setw(2) << std::hex << static_cast<int>(b);
});
std::cout << std::endl;
}
}
}
}
return 0;
}
Output: fd186dd49a16b1bf2bd2f44e495e14c9
Best Wishes,
-David Delaune
|
|
|
|
|
thanks randor
can u help me to convert c# code in c++;
my code works gud in c# but I have not so much idea how these functions works in c++
static string convert_byte_array_to_string(byte[] byte_array)
{
string hashString = "";
for (int i = 0; i < byte_array.Length; i++)
{
hashString += Convert.ToString(byte_array[i], 16).PadLeft(2, '0');
}
return hashString;
}
MD5 md5Hash = MD5.Create();
byte[] str_Buf = System.Text.UnicodeEncoding.Unicode.GetBytes(value_str);
hashString = Form1.convert_byte_array_to_string(str_Buf);
byte[] strHash = md5Hash.ComputeHash(str_Buf);
hashString = Form1.convert_byte_array_to_string(strHash);
byte[] hashBuf = new byte[21 * 16];
for (int i = 0; i < 16; i++)
{
Array.Copy(strHash, 0, hashBuf, i * 21, 5);
Array.Copy(verifierBuf, 0, hashBuf, i * 21 + 5, 16);
}
hashString = Form1.convert_byte_array_to_string(hashBuf);
strHash = md5Hash.ComputeHash(hashBuf);
hashString = Form1.convert_byte_array_to_string(strHash);
uint block = 0;
Array.Copy(strHash, 0, hashBuf, 0, 5);
Array.Copy(BitConverter.GetBytes(block), 0, hashBuf, 5, 4);
hashString = Form1.convert_byte_array_to_string(hashBuf);
strHash = md5Hash.ComputeHash(hashBuf, 0, 9);
hashString = Form1.convert_byte_array_to_string(strHash);
byte[] rc4Key = new byte[16];
Array.Copy(strHash, rc4Key, 16);
hashString = Form1.convert_byte_array_to_string(rc4Key);
ManagedRC4.RC4 rc4 = new ManagedRC4.RC4();
rc4.Init(rc4Key, (uint)rc4Key.Length);
rc4.Decrypt(encryptedVerifier, (uint)encryptedVerifier.Length);
rc4.Decrypt(encryptedVerifierHash, (uint)encryptedVerifierHash.Length);
hashString = Form1.convert_byte_array_to_string(encryptedVerifier);
hashString = Form1.convert_byte_array_to_string(encryptedVerifierHash);
byte[] hashedVerifier = md5Hash.ComputeHash(encryptedVerifier);
hashString = Form1.convert_byte_array_to_string(hashedVerifier);
hashString = Form1.convert_byte_array_to_string(encryptedVerifier);
md5Hash.Clear();
please.
can I create dll for c code and use in my c++ code.
can u please help me for this.
modified 28-Dec-13 7:22am.
|
|
|
|
|
Hello....I am learning C and C++ and I find pointer as a very tough topic. Its really very hard to understand its key points. I want to know is there any difference in pointers of C and C++? And also how can I learn this topic easily.Thanks.
|
|
|
|
|
Pointers are the same in both versions of the language; they point to elements or objects. In reality a pointer is merely a convenient way of addressing a portion of memory. for example:
char someArray[256]; char* pItemOfArray = someArray;
while (*pItemOfArray != '\0') {
*pItemArray = *pItemArray + 1; pItemArray++; }
Veni, vidi, abiit domum
|
|
|
|
|
akstgsb wrote: nd I find pointer as a very tough topic. And also how can I learn this topic easily.
You can't. You are already finding it tough so it is going to be tough until you finally (hopefully) get it.
It might help to find different sources and read different explanations of it. Or not.
If it helps any when I first encountered pointers it took me about a year to really get them.
|
|
|
|
|
Simple. Learn ASM - then pointers will be the least of your concerns!
No, on a serious note (although, I am only 1/2 joking) - as jschell says, they're a tricky topic for most. There really isn't a direct counterpart in the physical world. You either get them, or you dont. (or you think you do, but dont )
One way to think of them may be to consider a pointer as a single entry in either the Table Of Contents or Index of a book. The pointer in itself doesn't tell you what the data is, it merely tells you where to find it. - The analogy breaks-down however, when you consider that the pointer doesn't tell you what it holds. Whereas the book-based counterparts tell you where to find the information, and give you a good clue as to what they hold.
An image of linked-lists may help for the concept of pointers to take root in your mind.
|
|
|
|
|
How to parse xml using QXmlstreamreader in QT without premature document error?
|
|
|
|
|
|
void CxmlRd::parseXML()
{
QString xmlFile= "D:/Neethu/xmlRd/sample.xml";
QFile *xml= new QFile(xmlFile);
QXmlStreamReader r(xml);
if(!xml->open(QFile::ReadWrite|QIODevice::Text))
{
QMessageBox::critical(this,
"QXSRExample::parseXML",
"Cannot Open file",
QMessageBox::Ok);
}
while(!r.atEnd())
{
if(r.readNextStartElement())
{
ui->textEdit->append("found element");
}
if(r.hasError())
{
QMessageBox::critical(this,
"QXSRExample::parseXML",
r.errorString(),
QMessageBox::Ok);
}
}
}
|
|
|
|
|
|
Hello there,
I am working on a Windows application using Visual Studio 2012. One of the screens have a text entry field for the user. Instead of using a standard text field control, am placing a image which looks exactly like a text field. Now what i want to do is, capture the key stroke and update this image with the characters entered by user.
The initial image shown to the user is "Blank_Text_Entry.png" and this is added to the resource as IDB_BLANK_TEXT_ENTRY.
This is a rectangular white image with dimensions 153 x 27, with a size of 250 bytes.
My goal is to be able to update this image dynamically based on key strokes by user and display it.
Is it possible to do something like this? If yes, can anyone share some sample code?
Thanks in advance.
|
|
|
|
|
You can sure do that... but it seems WAY more painful than taking a text control and adapting it to do whatever it is you want.
If I may ask, why is it that you want to draw it yourself rather than changing an existing field control?
BTW, the way you would do it is by custom drawing using something like GDI. Easiest way would be to draw the blank entry box first, then update it with textual line items... problem is making it look and act nice would be a pain.
|
|
|
|
|
hi all,
can anybody help me to identify the file type and its protection type at the time when browse from location.
thanks.
|
|
|
|
|
Which file and how are you trying to access it? Please try and be a little more clear and detailed in your questions, and explain what actual coding problem you are trying to solve.
Veni, vidi, abiit domum
|
|
|
|
|
I want know the the file type like ms office 2007,ms office 2003 and so on
and protection type 40 bit encryption or 128AES for word file.
I want to such type of file details when I browse the file from my system.
|
|
|
|
|
The file type can be guessed from the extension, although that does not guarantee the content. It is not possible to guess the encryption type; after all that is part of the reason for encryption, to hide information about the file's contents.
Veni, vidi, abiit domum
|
|
|
|
|
Hi,
I am using DirectShow for playing video and VRM9 as a renderer. I want to resize my video but the result is a choppy with a kind of pixelated effect.
I want a smooth interpolated picture as you can see on different media players. Does VRM9 have something to enable or is something to implement by my own ?
Regards,
sdancer75
|
|
|
|
|
Any suggestion here ? Is there any anti-aliasing method for the video playback ?
sdancer75
|
|
|
|
|
Solved ! VMR9 under vista and later OS does not support interpolation. Microsoft removed this functionality to enforce programmers to use the new EVR renderer.
Shity thoughts from a company like MS!
sdancer75
|
|
|
|