| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- /*
- * Copyright (C) 2014 Mellnik
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- // Hash Plugin 0.0.4
-
- #if defined _hash_included
- #endinput
- #endif
- #define _hash_included
- #define PBKDF2_LENGTH 128
- #define MD5_LENGTH 32
- #define SHA1_LENGTH 40
- #define SHA256_LENGTH 64
- #define SHA384_LENGTH 96
- #define SHA512_LENGTH 128
- #define SHA3_LENGTH 128
- #define WHIRLPOOL_LENGTH 128
- #define RIPEMD160_LENGTH 40
- #define RIPEMD256_LENGTH 64
- #define RIPEMD320_LENGTH 80
- // Hashing
- native sha256(const key[], hash[], len = sizeof(hash));
- native sha384(const key[], hash[], len = sizeof(hash));
- native sha512(const key[], hash[], len = sizeof(hash));
- native sha3(const key[], hash[], len = sizeof(hash));
- native whirlpool(const key[], hash[], len = sizeof(hash));
- native ripemd160(const key[], hash[], len = sizeof(hash));
- native ripemd256(const key[], hash[], len = sizeof(hash));
- native ripemd320(const key[], hash[], len = sizeof(hash));
- // PBKDF2
- native hash_generate(const key[], iterations, const callback[], const format[], {Float,_}:...);
- native hash_retrieve(hash[], salt[], hlen = sizeof(hash), slen = sizeof(salt));
- native hash_validate(const key[], const hash[], const salt[], iterations, const callback[], const format[], {Float,_}:...);
- native hash_is_equal();
- native hash_unprocessed();
- native hash_exec_time();
- native hash_thread_limit(threads);
- // Non-cryptographic algorithms
- native base64_encode(const input[], output[], len = sizeof(output));
- native base64_decode(const input[], output[], len = sizeof(output));
- native hex_encode(const input[], output[], len = sizeof(output));
- native hex_decode(const input[], output[], len = sizeof(output));
- // Pseudo random generators
- native random_int(min, max);
- native random_string(length, output[], len = sizeof(output));
- // Checksums
- native md5sum(const file[], sum[], len = sizeof(sum));
- native sha1sum(const file[], sum[], len = sizeof(sum));
- native sha256sum(const file[], sum[], len = sizeof(sum));
- native sha384sum(const file[], sum[], len = sizeof(sum));
- native sha512sum(const file[], sum[], len = sizeof(sum));
- native wpsum(const file[], sum[], len = sizeof(sum));
- // Length-constant comparison
- native slow_equals(const a[], const b[]);
|