Skip to content
/ SHA1 Public
forked from 983/SHA1

Public domain C++ SHA1 implementation

License

Notifications You must be signed in to change notification settings

eliax1996/SHA1

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SHA1

void example(){
    const char *text = "quick brown fox jumps over the lazy dog";

    char hex[SHA1_HEX_SIZE];
    char base64[SHA1_BASE64_SIZE];

    // constructor can be empty or take a const char*
    sha1("The ")
        // can be chained
        // can add single chars
        .add(text[0])
        // number of bytes
        .add(&text[1], 4)
        // 0-terminated const char*
        .add(&text[5])
        // finalize must be called, otherwise the hash is not valid
        // after that, no more bytes should be added
        .finalize()
        // print the hash in hexadecimal, 0-terminated
        .print_hex(hex)
        // print the hash in base64, 0-terminated
        .print_base64(base64);

    printf("SHA1(The quick brown fox jumps over the lazy dog)\n");
    printf("\n");
    printf("hexadecimal\n");
    printf("calculated: %s\n", hex);
    printf("expected  : 2fd4e1c67a2d28fced849ee1bb76e7391b93eb12\n");
    printf("\n");
    printf("base64 encoded\n");
    printf("calculated: %s\n", base64);
    printf("expected  : L9ThxnotKPzthJ7hu3bnORuT6xI=\n");
}

About

Public domain C++ SHA1 implementation

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 100.0%