diff options
author | chriseth <c@ethdev.com> | 2016-11-14 21:24:19 +0800 |
---|---|---|
committer | chriseth <c@ethdev.com> | 2016-11-15 06:14:10 +0800 |
commit | 2f83a4557729753d6da28eddd28d54bfc18bf5e1 (patch) | |
tree | 01b69cfe54c44eb5c29f004465434c3adbe6e75e /libdevcore | |
parent | 58e75c7a48f8166cca41e9017dad351113952ab5 (diff) | |
download | dexon-solidity-2f83a4557729753d6da28eddd28d54bfc18bf5e1.tar.gz dexon-solidity-2f83a4557729753d6da28eddd28d54bfc18bf5e1.tar.zst dexon-solidity-2f83a4557729753d6da28eddd28d54bfc18bf5e1.zip |
Swarm hash.
Diffstat (limited to 'libdevcore')
-rw-r--r-- | libdevcore/SHA3.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/libdevcore/SHA3.h b/libdevcore/SHA3.h index c481bfc9..e3ff1335 100644 --- a/libdevcore/SHA3.h +++ b/libdevcore/SHA3.h @@ -53,4 +53,12 @@ inline std::string keccak256(std::string const& _input, bool _isNibbles) { retur /// Calculate SHA3-256 MAC inline void keccak256mac(bytesConstRef _secret, bytesConstRef _plain, bytesRef _output) { keccak256(_secret.toBytes() + _plain.toBytes()).ref().populate(_output); } +h256 swarmHash(bytes const& _data) +{ + bytes size(8); + for (size_t i = 0; i < 8; ++i) + size[i] = (_data.size() >> (8 * i)) & 0xff; + + return keccak256(size + _data); +} } |