diff options
Diffstat (limited to 'src/lib/libcrypto/doc/EVP_DigestInit.pod')
| -rw-r--r-- | src/lib/libcrypto/doc/EVP_DigestInit.pod | 63 |
1 files changed, 32 insertions, 31 deletions
diff --git a/src/lib/libcrypto/doc/EVP_DigestInit.pod b/src/lib/libcrypto/doc/EVP_DigestInit.pod index 2ff01b9c7c..f2c1cfdbf0 100644 --- a/src/lib/libcrypto/doc/EVP_DigestInit.pod +++ b/src/lib/libcrypto/doc/EVP_DigestInit.pod | |||
| @@ -215,39 +215,40 @@ digest name passed on the command line. | |||
| 215 | #include <stdio.h> | 215 | #include <stdio.h> |
| 216 | #include <openssl/evp.h> | 216 | #include <openssl/evp.h> |
| 217 | 217 | ||
| 218 | int | ||
| 218 | main(int argc, char *argv[]) | 219 | main(int argc, char *argv[]) |
| 219 | { | 220 | { |
| 220 | EVP_MD_CTX *mdctx; | 221 | EVP_MD_CTX *mdctx; |
| 221 | const EVP_MD *md; | 222 | const EVP_MD *md; |
| 222 | char mess1[] = "Test Message\n"; | 223 | const char mess1[] = "Test Message\n"; |
| 223 | char mess2[] = "Hello World\n"; | 224 | const char mess2[] = "Hello World\n"; |
| 224 | unsigned char md_value[EVP_MAX_MD_SIZE]; | 225 | unsigned char md_value[EVP_MAX_MD_SIZE]; |
| 225 | int md_len, i; | 226 | int md_len, i; |
| 226 | 227 | ||
| 227 | OpenSSL_add_all_digests(); | 228 | OpenSSL_add_all_digests(); |
| 228 | 229 | ||
| 229 | if(!argv[1]) { | 230 | if (argc <= 1) { |
| 230 | printf("Usage: mdtest digestname\n"); | 231 | printf("Usage: mdtest digestname\n"); |
| 231 | exit(1); | 232 | exit(1); |
| 232 | } | 233 | } |
| 233 | 234 | ||
| 234 | md = EVP_get_digestbyname(argv[1]); | 235 | md = EVP_get_digestbyname(argv[1]); |
| 235 | 236 | if (md == NULL) { | |
| 236 | if(!md) { | 237 | printf("Unknown message digest %s\n", argv[1]); |
| 237 | printf("Unknown message digest %s\n", argv[1]); | 238 | exit(1); |
| 238 | exit(1); | 239 | } |
| 239 | } | 240 | |
| 240 | 241 | mdctx = EVP_MD_CTX_create(); | |
| 241 | mdctx = EVP_MD_CTX_create(); | 242 | EVP_DigestInit_ex(mdctx, md, NULL); |
| 242 | EVP_DigestInit_ex(mdctx, md, NULL); | 243 | EVP_DigestUpdate(mdctx, mess1, strlen(mess1)); |
| 243 | EVP_DigestUpdate(mdctx, mess1, strlen(mess1)); | 244 | EVP_DigestUpdate(mdctx, mess2, strlen(mess2)); |
| 244 | EVP_DigestUpdate(mdctx, mess2, strlen(mess2)); | 245 | EVP_DigestFinal_ex(mdctx, md_value, &md_len); |
| 245 | EVP_DigestFinal_ex(mdctx, md_value, &md_len); | 246 | EVP_MD_CTX_destroy(mdctx); |
| 246 | EVP_MD_CTX_destroy(mdctx); | 247 | |
| 247 | 248 | printf("Digest is: "); | |
| 248 | printf("Digest is: "); | 249 | for(i = 0; i < md_len; i++) |
| 249 | for(i = 0; i < md_len; i++) printf("%02x", md_value[i]); | 250 | printf("%02x", md_value[i]); |
| 250 | printf("\n"); | 251 | printf("\n"); |
| 251 | } | 252 | } |
| 252 | 253 | ||
| 253 | =head1 SEE ALSO | 254 | =head1 SEE ALSO |
