aboutsummaryrefslogtreecommitdiffstats
path: root/apps/files/src/utils/hashUtils.ts
diff options
context:
space:
mode:
Diffstat (limited to 'apps/files/src/utils/hashUtils.ts')
-rw-r--r--apps/files/src/utils/hashUtils.ts17
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)
+}