Он функционирует как NXT мессенджер для Mac.
Должен ли я изменить это к алгоритму ECC?
Я адаптируя этот код без шифрования, чтобы действовать в качестве исходного пользователя данных, файл будет преобразован в двоичный, затем шестигранной и усеченный в 900 интервалах символов, которые будут загружены в blockchain в сегментах.
Код:
сценарий AppDelegate
свойство родителя: класс "NSObject"
Свойство TextField: отсутствует значение
Свойство secretPhrase: отсутствует значение
Свойство messageFee: отсутствует значение
Свойство accountReceiver: отсутствует значение
Свойство keyReceiver: отсутствует значение
установить rsaPrivate в "/Library/rsaprivkey.pem"
установить rsaPublic в "/Library/rsapubkey.pub"
сказать приложения "искатель"
если не существует rsaPrivate в POSIX файл, то
сделать скрипт "OpenSSL genrsa отъезда " & rsaPrivate & " 16384"
конец, если
если не существует rsaPublic в POSIX файл, то
сделать скрипт "OpenSSL RSA -in " & rsaPrivate & " -pubout > " & rsaPublic
конец, если
конец сказать
установить rsapubkey в (сделать скрипт "Кот " & цитируемый форма rsaPublic) в виде текста
сказать приложения "искатель"
установить theName к имени файла 1
конец сказать
набор (stringValue () текстового поля "поле" ) Из окна "главный" в rsapubkey
на buttonClicked_ (отправитель)
установить feeMessage к (stringValue () из messageFee)
установить receiveraccount к (stringValue () из accountReceiver)
установить textCipher в "/Library/ciphertext.txt"
-- написать открытый ключ получателя в file--
Набор rpubPath для "/Library/pubreceiver.key"
установить rpubKey к (stringValue () из keyReceiver)
сказать приложения "Системные события"
установить file_ref открыть для rpubPath доступа с разрешением записи
установить ВФ от file_ref до 0
написать ((stringValue () из keyReceiver) в виде текста), чтобы file_ref
близко file_ref доступ
конец сказать
-- написать открытый ключ получателя в file--
--написать открытый текст в file--
установить textPlain в "/Library/plaintext.txt"
установить сообщение (stringValue () из TextField)
сказать приложения "Системные события"
установить file_ref2 открыть для textPlain доступа с разрешением записи
установить ВФ от file_ref2 до 0
написать ((stringValue () из TextField) в виде текста), чтобы file_ref2
близко file_ref2 доступ
конец сказать
--написать открытый текст в file--
--шифрования открытого текста в ciphertext--
сделать скрипт "OpenSSL rsautl -encrypt -pubin -inkey " & RpubPath & " -в " & textPlain & " -вне " & textCipher
набор шифротекста для (сделать скрипт "Кот " & textCipher)
--шифрования открытого текста в ciphertext--
--Шифр в шестнадцатеричном
установить thelist в "0123456789abcdef"
установить hexvalue в ""
повторить с I в шифротекста
установить theAscii в ASCII числа I
установить hexvalue в hexvalue & символ (theAscii DIV 16 + 1) thelist & символ (theAscii моды 16 + 1) thelist
конец повтора
установить finalText к (hexvalue как текст)
--Шифр в шестнадцатеричном
установить messageLength к длине finalText
установить var_a к messageLength / 6
Набор var_b к var_a / 150
набор итераций округлить var_b округления
установить счетчик 1
повторные итерации раза
если messageLength меньше 900, то
установить charnumberalpha 1
установить charnumberbeta в messageLength
еще
установить charmaximum в messageLength
если счетчик равен итерации, то
установить charnumberalpha 1 + 900 * (счетчик - 1)
установить charnumberbeta в charmaximum
еще
установить charnumberalpha 1 + 900 * (счетчик - 1)
Набор charnumberbeta до 900 + 900 * (счетчика -1)
конец, если
конец, если
установить messageFinal в (текст charnumberalpha через charnumberbeta из finalText)
установить urlMassive в "HTTP: // локальный: 7874 / NXT ТипЗапрос = SendMessage&secretPhrase =" & (StringValue () из secretPhrase) & "&получатель =" & (StringValue () из accountReceiver) & "&плата =" & (StringValue () из messageFee) & "&срок = 1440" & "&сообщение =" & messageFinal
сказать приложения "Сафари"
запуск
установить URL итераций документа в urlMassive
конец сказать
установить счетчик, чтобы противостоять + 1
конец повтора