extends Node2D func _ready() - > void:
var crypto = Crypto.new()
var key = crypto.generate_rsa(4096)
var cert = crypto.generate_self_signed_certificate(key, "CN=mydomain.com,O=My Game Company,C=IT")
key.save("user://generated.key")
cert.save("user://generated.crt")
var data = "Some data encoded saved and decoded.."
var encrypted = crypto.encrypt(key, data.to_utf8_buffer())
save_to_file(str(encrypted))
var enc=str_to_var(load_from_file())
var dec = crypto.decrypt(key, enc)
print(dec.get_string_from_utf8())
var decrypted = crypto.decrypt(key, encrypted)
print(decrypted.get_string_from_utf8())
var signature = crypto.sign(HashingContext.HASH_SHA256, data.sha256_buffer(), key)
var verified = crypto.verify(HashingContext.HASH_SHA256, data.sha256_buffer(), signature, key)
print(verified)
print(data.to_utf8_buffer() == decrypted) func save_to_file(content):
var file = FileAccess.open("user://save_game.dat", FileAccess.WRITE)
file.store_string(content) func load_from_file():
var file = FileAccess.open("user://save_game.dat", FileAccess.READ)
var content = file.get_as_text()
return content
Crypting, decrypting, of saved, loaded data in Godot engine 4
Comments “Crypting, decrypting, of saved, loaded data in Godot engine 4”