diff --git a/package.json b/package.json index 41e12d0a..0078f5fb 100644 --- a/package.json +++ b/package.json @@ -28,7 +28,6 @@ "debounce-promise": "^3.1.2", "howler": "^2.1.2", "lz-string": "^1.4.4", - "rusha": "^0.8.13", "semver": "^7.3.5" }, "devDependencies": { diff --git a/src/js/core/read_write_proxy.js b/src/js/core/read_write_proxy.js index fdbe01d1..02afa2a2 100644 --- a/src/js/core/read_write_proxy.js +++ b/src/js/core/read_write_proxy.js @@ -9,7 +9,7 @@ import { IS_DEBUG, globalConfig } from "./config"; import { ExplainedResult } from "./explained_result"; import { createLogger } from "./logging"; import { compressX64, decompressX64 } from "./lzstring"; -import { CRC_PREFIX, computeCrc, sha1 } from "./sensitive_utils.encrypt"; +import { computeCrc } from "./sensitive_utils.encrypt"; import debounce from "debounce-promise"; @@ -109,9 +109,7 @@ export class ReadWriteProxy { const checksum = decompressed.substring(0, 40); const jsonString = decompressed.substr(40); - const desiredChecksum = checksum.startsWith(CRC_PREFIX) - ? computeCrc(jsonString + salt) - : sha1(jsonString + salt); + const desiredChecksum = computeCrc(jsonString + salt); if (desiredChecksum !== checksum) { // Checksum mismatch @@ -198,11 +196,9 @@ export class ReadWriteProxy { // Compare stored checksum with actual checksum const checksum = decompressed.substring(0, 40); - const jsonString = decompressed.substr(40); + const jsonString = decompressed.slice(40); - const desiredChecksum = checksum.startsWith(CRC_PREFIX) - ? computeCrc(jsonString + salt) - : sha1(jsonString + salt); + const desiredChecksum = computeCrc(jsonString + salt); if (desiredChecksum !== checksum) { // Checksum mismatch diff --git a/src/js/core/sensitive_utils.encrypt.js b/src/js/core/sensitive_utils.encrypt.js index 5a83bf76..e61e0b67 100644 --- a/src/js/core/sensitive_utils.encrypt.js +++ b/src/js/core/sensitive_utils.encrypt.js @@ -1,15 +1,4 @@ -import { createHash } from "rusha"; import crc32 from "crc/crc32"; -import { decompressX64 } from "./lzstring"; - -export function sha1(str) { - return createHash().update(str).digest("hex"); -} - -// Window.location.host -export function getNameOfProvider() { - return window[decompressX64("DYewxghgLgliB2Q")][decompressX64("BYewzgLgdghgtgUyA")]; -} // Distinguish legacy crc prefixes export const CRC_PREFIX = "crc32".padEnd(32, "-"); diff --git a/src/js/savegame/savegame_manager.js b/src/js/savegame/savegame_manager.js index 49443f25..b70bd851 100644 --- a/src/js/savegame/savegame_manager.js +++ b/src/js/savegame/savegame_manager.js @@ -1,12 +1,10 @@ +import { globalConfig } from "../core/config"; import { ExplainedResult } from "../core/explained_result"; import { createLogger } from "../core/logging"; import { ReadWriteProxy } from "../core/read_write_proxy"; -import { globalConfig } from "../core/config"; import { Savegame } from "./savegame"; const logger = createLogger("savegame_manager"); -import Rusha from "rusha"; - /** * @typedef {import("./savegame_typedefs").SavegamesData} SavegamesData * @typedef {import("./savegame_typedefs").SavegameMetadata} SavegameMetadata @@ -217,9 +215,7 @@ export class SavegameManager extends ReadWriteProxy { * Helper method to generate a new internal savegame id */ generateInternalId() { - return Rusha.createHash() - .update(Date.now() + "/" + Math.random()) - .digest("hex"); + return self.crypto.randomUUID(); } // End diff --git a/yarn.lock b/yarn.lock index 97c930cf..3cd4bf19 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8580,11 +8580,6 @@ run-parallel@^1.1.9: dependencies: queue-microtask "^1.2.2" -rusha@^0.8.13: - version "0.8.14" - resolved "https://registry.yarnpkg.com/rusha/-/rusha-0.8.14.tgz#a977d0de9428406138b7bb90d3de5dcd024e2f68" - integrity sha512-cLgakCUf6PedEu15t8kbsjnwIFFR2D4RfL+W3iWFJ4iac7z4B0ZI8fxy4R3J956kAI68HclCFGL8MPoUVC3qVA== - rx-lite@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-3.1.2.tgz#19ce502ca572665f3b647b10939f97fd1615f102"