Подпишись на канал фаундера и разработчика экосистемы tonpie
Как мне подписать и подтвердить сообщение на моем локальном компьютере?
-
Как мне подписать случайное хэш-значение закрытым ключом адреса ton?
Если кто-то утверждает, что подпись была сгенерирована с использованием закрытого ключа открытого ключа для подписи сообщения, как мне проверить подпись?
-
Любая строка, которая была подписана секретным ключом, может быть проверена с помощью открытого ключа. Несколько примеров ниже
Для подписи полезной нагрузки (nacl используется из ton- crypto)
const signatureData = beginCell() .storeUint(123, 32) .storeCoins(toNano(123)) .endCell() nacl.sign(signatureData.hash(), YOUR_SECRET_KEY)
Для проверки подписи на другой стороне (js) это может быть следующим образом:
return nacl.sign.detached.verify(message, signature, pubkey)
ИЛИ, если вы хотите, отметьте это в контракте
(int public_key) = load_data() slice ref = in_msg~load_ref().begin_parse(); var signature = ref~load_bits(512); int is_valid = check_signature(slice_hash(in_msg), signature, public_key)
Некоторые ссылки