Crypting, decrypting, of saved, loaded data in Godot engine 4

Crypting, decrypting, of saved, loaded data in Godot engine 4
  1. extends Node2D func _ready() - > void:

    1. var crypto = Crypto.new()

    2. var key = crypto.generate_rsa(4096)

    3. var cert = crypto.generate_self_signed_certificate(key, "CN=mydomain.com,O=My Game Company,C=IT")

    4. key.save("user://generated.key")

    5. cert.save("user://generated.crt")

    6. var data = "Some data encoded saved and decoded.."

    7. var encrypted = crypto.encrypt(key, data.to_utf8_buffer())

    8. save_to_file(str(encrypted))

    9. var enc=str_to_var(load_from_file())

    10. var dec = crypto.decrypt(key, enc)

    11. print(dec.get_string_from_utf8())

    12. var decrypted = crypto.decrypt(key, encrypted)

    13. print(decrypted.get_string_from_utf8())

    14. var signature = crypto.sign(HashingContext.HASH_SHA256, data.sha256_buffer(), key)

    15. var verified = crypto.verify(HashingContext.HASH_SHA256, data.sha256_buffer(), signature, key)

    16. print(verified)

    17. print(data.to_utf8_buffer() == decrypted) func save_to_file(content):

    18. var file = FileAccess.open("user://save_game.dat", FileAccess.WRITE)

    19. file.store_string(content) func load_from_file():

    20. var file = FileAccess.open("user://save_game.dat", FileAccess.READ)

    21. var content = file.get_as_text()

    22. return content


Author: AarNoma

The first Slovak cyborg 1 system

Comments “Crypting, decrypting, of saved, loaded data in Godot engine 4”