我正在寻找存储和检索真实音频文件的哈希在Ethereum区块链上,目的是检查这些音频文件的真实性在未来与哈希存储在Ethereum区块链上。
但主要关注的是,即使是稍微缓和的音频文件,有关比特将提供一个不同的哈希,因此将作为不真实的。我可以存储不同版本的不同版本的真实音频文件的多散列在Ethereum区块链上。
什么是最好的方式来实现这一点上的埃瑟姆区块链?能否使用智能契约来实现此用例。应该在音频文件上使用什么样的哈希函数,这些文件适合存储在ethereum智能契约中,如果它的sha1 1/sha256重要吗?
发布于 2018-06-06 10:54:00
使用智能契约来保存文件的所有不同版本的散列。
创建一个函数来检查每个散列,可以改进,让一个泛型函数接受字符串,查看一个列表/集合,或者检查包含不同版本的不同哈希的多个变量。
下面是一个有用的例子
pragma solidity ^0.4.0;
contract AudioAuthenticity {
string constant wavehash = "dea7db275ee984f7f4bf0e2b5ba77aa428e780ca5fda49435960c7fef1b4b94b";
string constant mp3hash = "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855";
function checkMp3VersionHash(string hashInput)public returns(bool){
bool result = compareHashes(hashInput, mp3hash);
return result;
}
function compareHashes (string a, string b) private view returns (bool){
return keccak256(a) == keccak256(b);
}
}下面是指向github代码https://gist.github.com/lismore/c4f11e5f87e63b3a9f7dc1cd9043fc9b的链接
下面是工作智能合同输入和输出的屏幕截图。

https://ethereum.stackexchange.com/questions/50563
复制相似问题