MCPcopy Create free account
hub / github.com/MegEngine/MegEngine / command_hash

Function command_hash

lite/tools/rc4_encrypt.cpp:148–177  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

146}
147
148int command_hash(int argc, char** argv) {
149 if (argc != 3) {
150 printf("Invalid hash arguments.\n");
151 return 1;
152 }
153
154 const char* input_file_path = argv[2];
155
156 size_t len = 0;
157 auto input = read_file(input_file_path, len);
158
159 rc4::FastHash64 hasher(rc4::key_gen_hash_key());
160 auto start = static_cast<const char*>(input.get());
161
162 auto ptr = reinterpret_cast<const uint64_t*>(start);
163 while (reinterpret_cast<const char*>(ptr + 1) <= start + len) {
164 hasher.feed(*ptr);
165 ++ptr;
166 }
167
168 auto cptr = reinterpret_cast<const char*>(ptr);
169 if (cptr < start + len) {
170 uint64_t v = 0;
171 std::copy(cptr, start + len, reinterpret_cast<char*>(&v));
172 hasher.feed(v);
173 }
174
175 printf("%llx\n", static_cast<unsigned long long>(hasher.get()));
176 return 0;
177}
178
179std::unordered_map<std::string, CommandHandler> commands = {
180 {"encrypt_predefined_rc4", command_encrypt_predefined_rc4},

Callers

nothing calls this directly

Calls 5

key_gen_hash_keyFunction · 0.85
read_fileFunction · 0.70
copyFunction · 0.50
getMethod · 0.45
feedMethod · 0.45

Tested by

no test coverage detected