-
Notifications
You must be signed in to change notification settings - Fork 9
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
319 changed files
with
96,386 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,72 @@ | ||
/* | ||
* 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.1 | ||
|
||
#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 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 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[]); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
|
||
Microsoft Visual Studio Solution File, Format Version 11.00 | ||
# Visual C++ Express 2010 | ||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "hash", "src\hash.vcxproj", "{76EDA4F9-D1EA-4D9B-B33A-05720F8DCB4E}" | ||
EndProject | ||
Global | ||
GlobalSection(SolutionConfigurationPlatforms) = preSolution | ||
Debug|Win32 = Debug|Win32 | ||
Release|Win32 = Release|Win32 | ||
EndGlobalSection | ||
GlobalSection(ProjectConfigurationPlatforms) = postSolution | ||
{76EDA4F9-D1EA-4D9B-B33A-05720F8DCB4E}.Debug|Win32.ActiveCfg = Debug|Win32 | ||
{76EDA4F9-D1EA-4D9B-B33A-05720F8DCB4E}.Debug|Win32.Build.0 = Debug|Win32 | ||
{76EDA4F9-D1EA-4D9B-B33A-05720F8DCB4E}.Release|Win32.ActiveCfg = Release|Win32 | ||
{76EDA4F9-D1EA-4D9B-B33A-05720F8DCB4E}.Release|Win32.Build.0 = Release|Win32 | ||
EndGlobalSection | ||
GlobalSection(SolutionProperties) = preSolution | ||
HideSolutionNode = FALSE | ||
EndGlobalSection | ||
EndGlobal |
Oops, something went wrong.