diff options
Diffstat (limited to 'apps/files/src/utils/hashUtils.ts')
-rw-r--r-- | apps/files/src/utils/hashUtils.ts | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/apps/files/src/utils/hashUtils.ts b/apps/files/src/utils/hashUtils.ts new file mode 100644 index 00000000000..2e1fadff067 --- /dev/null +++ b/apps/files/src/utils/hashUtils.ts @@ -0,0 +1,17 @@ +/** + * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */ + +/** + * Simple non-secure hashing function similar to Java's `hashCode` + * @param str The string to hash + * @return {number} a non secure hash of the string + */ +export const hashCode = function(str: string): number { + let hash = 0 + for (let i = 0; i < str.length; i++) { + hash = ((hash << 5) - hash + str.charCodeAt(i)) | 0 + } + return (hash >>> 0) +} |