View source code
Display the source code in std/digest/ripemd.d from which this
page was generated on github.
Report a bug
If you spot a problem with this page, click here to create a
Bugzilla issue.
Improve this page
Quickly fork, edit online, and submit a pull request for this page.
Requires a signed-in GitHub account. This works well for small changes.
If you'd like to make larger changes you may want to consider using
local clone.
Module std.digest.ripemd
Computes RIPEMD-160 hashes of arbitrary data. RIPEMD-160 hashes are 20 byte quantities that are like a checksum or CRC, but are more robust.
| Category | Functions |
|---|---|
| Template API | RIPEMD160
|
| OOP API | RIPEMD160Digest |
| Helpers | ripemd160Of |
This module conforms to the APIs defined in std. To understand the
differences between the template and the OOP API, see std.
This module publicly imports std and can be used as a stand-alone
module.
CTFE
Digests do not work in CTFE
References
Example
//Template API
import std .digest .md;
ubyte[20] hash = ripemd160Of("abc");
writeln(toHexString(hash)); // "8EB208F7E05D987A9B044A8E98C6B087F15A0BFC"
//Feeding data
ubyte[1024] data;
RIPEMD160 md;
md .start();
md .put(data[]);
md .start(); //Start again
md .put(data[]);
hash = md .finish();
Example
//OOP API
import std .digest .md;
auto md = new RIPEMD160Digest();
ubyte[] hash = md .digest("abc");
writeln(toHexString(hash)); // "8EB208F7E05D987A9B044A8E98C6B087F15A0BFC"
//Feeding data
ubyte[1024] data;
md .put(data[]);
md .reset(); //Start again
md .put(data[]);
hash = md .finish();
Functions
| Name | Description |
|---|---|
ripemd160Of(data)
|
This is a convenience alias for std using the
RIPEMD160 implementation.
|
Structs
| Name | Description |
|---|---|
RIPEMD160
|
Template API RIPEMD160 implementation.
See std for differences between template and OOP API.
|
Aliases
| Name | Type | Description |
|---|---|---|
RIPEMD160Digest
|
std
|
OOP API RIPEMD160 implementation.
See std for differences between template and OOP API.
|
Authors
Kai Nacke
The algorithm was designed by Hans Dobbertin, Antoon Bosselaers, and Bart Preneel.
The D implementation is a direct translation of the ANSI C implementation by Antoon Bosselaers.
License
Copyright © 1999-2022 by the D Language Foundation | Page generated by ddox.