Skip to content

Instantly share code, notes, and snippets.

@iagox86
Created August 25, 2012 10:20
Show Gist options
  • Save iagox86/3463303 to your computer and use it in GitHub Desktop.
Save iagox86/3463303 to your computer and use it in GitHub Desktop.
#include <stdio.h>
#include <openssl/sha.h>
#include <arpa/inet.h>
#include <string.h>
int main()
{
SHA_CTX c;
unsigned char buffer[200];
int i;
char data[] = "ivtAUQRQ6dFmH9count=1&lat=90&user_id=5&long=49&waffle=liege&user_id=5";
SHA1_Init(&c);
SHA1_Update(&c, data, sizeof(data) - 1);
SHA1_Final(buffer, &c);
for(i = 0; i < 20; i++)
printf("%02x", buffer[i]);
printf("\n");
printf("\n");
SHA1_Init(&c);
SHA1_Update(&c, "ivtAUQRQ6dFmH9count=1&lat=90&user_id=5&long=49&waffle=liege&user", 64);
SHA1_Update(&c, "_id=5\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x45", 64);
printf("0x%08x\n", c.h0);
printf("0x%08x\n", c.h1);
printf("0x%08x\n", c.h2);
printf("0x%08x\n", c.h3);
printf("0x%08x\n", c.h4);
printf("\n", c.h4);
SHA1_Update(&c, "&waffle=liege", 13);
SHA1_Final(buffer, &c);
for(i = 0; i < 20; i++)
printf("%02x", buffer[i]);
printf("\n");
SHA1_Init(&c);
SHA1_Update(&c, "XXXXXXXXXXXXXXcount=1&lat=90&user_id=5&long=49&waffle=liege&user", 64);
SHA1_Update(&c, "_id=5\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x45", 64);
c.h0 = 0xbb0fb588;
c.h1 = 0x5a92dc93;
c.h2 = 0x37f8221a;
c.h3 = 0x2682200a;
c.h4 = 0x1a9a241e;
SHA1_Update(&c, "&waffle=liege", 13);
SHA1_Final(buffer, &c);
for(i = 0; i < 20; i++)
printf("%02x", buffer[i]);
printf("\n");
return 0;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment