purebasic.info

PureBasic forum
Текущее время: Ср апр 25, 2018 1:43 pm

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 19 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Шифрование ключами
СообщениеДобавлено: Вс ноя 17, 2013 1:45 pm 
Не в сети
док
Аватар пользователя

Зарегистрирован: Вс янв 10, 2010 1:10 pm
Сообщений: 126
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
Есть ли какие нибудь библиотеки для пурика, реализующие шифрование на основе открытого и закрытого ключей (как, например, gpg). Возникла необходимость в обеспечении безопасности (или даже скорее уверенности в целостности) сообщений, передаваемых удаленному серверу.

_________________
.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Шифрование ключами
СообщениеДобавлено: Пн ноя 18, 2013 9:52 am 
Не в сети
док
Аватар пользователя

Зарегистрирован: Пт май 11, 2012 2:07 am
Сообщений: 125
Откуда: Киев, Украина
Благодарил (а): 0 раз.
Поблагодарили: 5 раз.
Пункты репутации: 5
Можно ведь самому чего реализовать, как в http://www.purebasic.fr/english/viewtopic.php?t=37047, а для целостности - хэш.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Шифрование ключами
СообщениеДобавлено: Пн ноя 18, 2013 1:46 pm 
Не в сети
док
Аватар пользователя

Зарегистрирован: Вс янв 10, 2010 1:10 pm
Сообщений: 126
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
Denimus писал(а):
а для целостности - хэш.

Ну так ведь злоумышленник сможет исправить запрос и сам рассчитать новый хэш, при этом целостность сообщения для сервера или клиента останется не нарушенной.

_________________
.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Шифрование ключами
СообщениеДобавлено: Пн ноя 18, 2013 8:58 pm 
Не в сети
док
Аватар пользователя

Зарегистрирован: Пт май 11, 2012 2:07 am
Сообщений: 125
Откуда: Киев, Украина
Благодарил (а): 0 раз.
Поблагодарили: 5 раз.
Пункты репутации: 5
Вы же собираетесь его шифровать? И почему хэш должен быть в открытом виде? Он вполне может идти с самим потоком данных, вам ведь важно знать целостность расшифрованных данных. В таком случае и контрольная сумма будет зашифрована, даже если это CRC и алгоритм известен.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Шифрование ключами
СообщениеДобавлено: Пн ноя 18, 2013 9:37 pm 
Не в сети
МОДЕРАТОР

Зарегистрирован: Вт дек 05, 2006 8:46 am
Сообщений: 6246
Благодарил (а): 17 раз.
Поблагодарили: 182 раз.
Пункты репутации: 48
Explode писал(а):
Есть ли какие нибудь библиотеки для пурика, реализующие шифрование на основе открытого и закрытого ключей (как, например, gpg). Возникла необходимость в обеспечении безопасности (или даже скорее уверенности в целостности) сообщений, передаваемых удаленному серверу.

Есть готовые либы


Вложения:
PBencryptlib.zip [122.97 KiB]
Скачиваний: 155

_________________
read-only
Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Шифрование ключами
СообщениеДобавлено: Пн ноя 18, 2013 10:38 pm 
Не в сети
профессор

Зарегистрирован: Вс июн 10, 2012 8:18 am
Сообщений: 1294
Благодарил (а): 60 раз.
Поблагодарили: 49 раз.
Пункты репутации: 14
kvitaliy писал(а):
Есть готовые либы

Есть пример для Rijndael?
Whirlpool только кодирует?
BLOWFISH падает на 5.20 :(


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Шифрование ключами
СообщениеДобавлено: Вт дек 03, 2013 12:18 am 
Не в сети
док
Аватар пользователя

Зарегистрирован: Вс янв 10, 2010 1:10 pm
Сообщений: 126
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
Спасибо за библиотеки, но с RSA там есть проблема. Оно не принимает ключи, сгенерированные с помощью PHP функций из библиотеки openssl.
Вот пример такой пары:
Цитата:
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAq0CdaIdQ+U6oDRlL+tYP
cOeMFWApID+/ZcuGzHvTuWyOWBAsNPf2jsqLWP/2dg4cqnT9ANohzwVK7M22koa0
/jSNQGUaJygztnlz3qQ3OT3yrdSXAWrPyppdhBND6QQ4LRgtt0gitF/Iz90oqgjJ
kSU1/lbtupfNJcLu29WypuQ4vdrV4mvmYCJQPO4ngdNzAblZolBR27ZdYy8Op58C
bay9Y8rsvvoZUqGrA56/eeSNWWokpiflI0Si1m3iyrkDSqFr8W9aOuRZSWBdF1BN
ox8bXOb4MmlucuY/qnFUNrt8hv8Z4vOLlydaurijSyjyF5XZW5W12eWlbL2p7POA
2wIDAQAB
-----END PUBLIC KEY-----

Цитата:
-----BEGIN PRIVATE KEY-----
MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQCrQJ1oh1D5TqgN
GUv61g9w54wVYCkgP79ly4bMe9O5bI5YECw09/aOyotY//Z2DhyqdP0A2iHPBUrs
zbaShrT+NI1AZRonKDO2eXPepDc5PfKt1JcBas/Kml2EE0PpBDgtGC23SCK0X8jP
3SiqCMmRJTX+Vu26l80lwu7b1bKm5Di92tXia+ZgIlA87ieB03MBuVmiUFHbtl1j
Lw6nnwJtrL1jyuy++hlSoasDnr955I1ZaiSmJ+UjRKLWbeLKuQNKoWvxb1o65FlJ
YF0XUE2jHxtc5vgyaW5y5j+qcVQ2u3yG/xni84uXJ1q6uKNLKPIXldlblbXZ5aVs
vans84DbAgMBAAECggEBAIjD4rIfFzDze0xyvnZFzDEcCojrsgx6PK3cO/xEjBNS
ud9kkxl+Sl9BLMZYLQmdPZF4OrIagtOlY2/43ezpPdSiPYiG9br95Ua+eiX9uciy
S4Q9+pb8KZShcTvQcvS+FOsWmzP7nRO2R1aSRi59NBUBxbwoylSxdPnKUx4n7TRQ
UfQeARsLmHOOS4O1JsZ5i1uzmM824mq5DG5/KnIXsQ0tw+shxW9sNzmE0qKuF+mF
KqOdF3fsH31h1X/roqtXQiixpXd+mb9gCrZad7aaePjqPnXXhpYOPvb5veIeEGqL
n+6EGAGN+C9lxFTxF+XvAQweV7s3+Dqro1n0Hq60ZLECgYEA4oCAjKOYTYXRV8iC
uoudJPXq2O8BqpnvNxo9iI5Tn8aoG19VStQ9OOGpXHlICv423QE1cbpXNivEhZ+H
teS1P01FBa/pG+gYOzwUc007aD3CI3xHGqVXQk006hejeyeH39pq9xmA/nfv78rX
w5mhxw82hunPeYeizFbZRPCaxgMCgYEAwY4cf9/34KPaqD0+Zl2JdfeA6AmaoAeZ
jtnckfuuushStyIYw/zvSrzpC6fh/5HVzjxWUM8HEkysjllQGJrlaw7tGEAlDefY
/FXEtyzMswUKNl8rXq93dskknszWnDwE9l97zLalVndK2MtpmliWSrAZYPawY664
Tg9xek1prkkCgYBSKyn3W1XiMbybKut5/zIX+XqkDji9ijCE/ej6xB9EJE5R98i6
Z7p6Cytkl77x9f0zOcAIrP/8b+5QR2p1Ky4xc7epc4KOlClOO+JzXb5Cd70ZIHmv
CfJY5CdhEQhGojWhmNwbHk50glAx3pVdqTtOOo+ea+3PecwucwdJAjwzvwKBgQCD
CoW9BZM6oXSeRqiCgX1ZQrIhZq8q/To3fsRYiX8osgteNVVzC0Gu5esZmxXlA4Uv
VaZSm3d8KjEBRvJ1VhlQvBBFRNhRa9B6Nk8yfMAxy424dgJU3pMQ9uk2IhSCPhhV
/RtB475Ypfckg8MBXkySUFs+TIXrVxUstEPtu497EQKBgQCd9adyDpk655WCzC2J
JP6AFHIAG7OnVzd66KBYuYVL4NVzCnZZorFK7tkdqOZz5ohdpufqvPy8oHB25asx
aaLMrUzhoEPD5a4dm8bHfOMI1WBef4q8xRRGHhNhBXkq/DekxWPBvitPaTzLa/8z
52TbX4VrmirjwBHlRbSUCkAGkg==
-----END PRIVATE KEY-----

_________________
.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Шифрование ключами
СообщениеДобавлено: Вт дек 03, 2013 4:46 pm 
Не в сети
профессор

Зарегистрирован: Пн янв 03, 2011 4:27 pm
Сообщений: 410
Благодарил (а): 5 раз.
Поблагодарили: 17 раз.
Пункты репутации: 0
Explode, openssl использует другую структуру создание файла приват и публичных ключей, по моему могу ошибаться.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Шифрование ключами
СообщениеДобавлено: Вт дек 03, 2013 5:19 pm 
Не в сети
док
Аватар пользователя

Зарегистрирован: Вс янв 10, 2010 1:10 pm
Сообщений: 126
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
Попробую в таком случае работать напрямую с OpenSSL. Только вот хотелось бы найти .lib файл под последнюю версию (1.0.1e), но что то не получается. А обращаться напрямую к dll это еще тот гемор((

_________________
.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Шифрование ключами
СообщениеДобавлено: Вт дек 03, 2013 5:52 pm 
Не в сети
профессор

Зарегистрирован: Пн янв 03, 2011 4:27 pm
Сообщений: 410
Благодарил (а): 5 раз.
Поблагодарили: 17 раз.
Пункты репутации: 0
Explode, вот только под OpenSSL 1.0.1с https://code.google.com/p/repositorium/source/browse/trunk/OpenSSL/#OpenSSL%2Flib, а если надо OpenSSL 1.0.1e, качай исходники и собирай


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Шифрование ключами
СообщениеДобавлено: Ср дек 04, 2013 3:51 am 
Не в сети
док
Аватар пользователя

Зарегистрирован: Вс янв 10, 2010 1:10 pm
Сообщений: 126
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
Нашел нужный файлик вот здесь. В итоге, вот что получилось:
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
 
ImportC "libeay32.lib"
  _BIO_s_mem() As "_BIO_s_mem"
  _BIO_new(*type) As "_BIO_new"
  _BIO_write(*bio, *buf, len.l) As "_BIO_write"
  _BIO_free(*bio) As "_BIO_free"
  _PEM_read_bio_RSA_PUBKEY(*bp, *rsa, *cb, *u) As "_PEM_read_bio_RSA_PUBKEY"
  _RSA_public_encrypt(flen.l, *from, *|/1/>to, *rsa, padding.l) As "_RSA_public_encrypt"
  _RSA_public_decrypt(flen.l, *from, *|/1/>to, *rsa, padding.l) As "_RSA_public_decrypt"
  _RSA_free(*rsa) As "_RSA_free"
EndImport
 
; Encrypt with public key
Procedure.s RSA_Public_Encrypt(Message.s, Key.s)
  EncryptedString.s = ""
  *BIO = _BIO_new(_BIO_s_mem())
  If *BIO
    Len = StringByteLength(Key)
    If _BIO_write(*BIO, @Key, Len)
      *RSA = _PEM_read_bio_RSA_PUBKEY(*BIO, #Null, #Null, #Null)
      If *RSA
        Len = StringByteLength(Message)
        *Buffer = AllocateMemory(2048)
        Len = _RSA_public_encrypt(Len, @Message, *Buffer, *RSA, 1)
        If Len>0
          EncryptedString = PeekS(*Buffer, Len)
        EndIf
        FreeMemory(*Buffer)
      EndIf
      _RSA_free(*RSA)
    EndIf
    _BIO_Free(*BIO)
  EndIf
  ProcedureReturn EncryptedString
EndProcedure
 
; Decrypt with public key
Procedure.s RSA_Public_Decrypt(Message.s, Key.s)
  DecryptedString.s = ""
  *BIO = _BIO_new(_BIO_s_mem())
  If *BIO
    Len = StringByteLength(Key)
    If _BIO_write(*BIO, @Key, Len)
      *RSA = _PEM_read_bio_RSA_PUBKEY(*BIO, #Null, #Null, #Null)
      If *RSA
        Len = StringByteLength(Message)
        *Buffer = AllocateMemory(2048)
        Len = _RSA_public_decrypt(Len, @Message, *Buffer, *RSA, 1)
        If Len>0
          DecryptedString = PeekS(*Buffer, Len)
        EndIf
        FreeMemory(*Buffer)
      EndIf
      _RSA_free(*RSA)
    EndIf
    _BIO_Free(*BIO)
  EndIf
  ProcedureReturn DecryptedString
EndProcedure


Единственное, что можно (и нужно) исправить, так это размер выделяемой памяти (сейчас установил 2048). Надо найти в спецификации по RSA как рассчитать максимальную длину выходного сообщения.

_________________
.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Шифрование ключами
СообщениеДобавлено: Вс янв 26, 2014 11:41 am 
Не в сети
студент

Зарегистрирован: Вс янв 26, 2014 11:24 am
Сообщений: 1
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
У меня не стабильно работает RSA. И PBencryptlib и OpenSSL шифруют так , что код расшифровывается через раз .
Подскажите в чем дело ?

Вот мой код на OpenSSL

Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
ImportC "libeay32.lib"
  _BIO_s_mem() As "_BIO_s_mem"
  _BIO_new(*type) As "_BIO_new"
  _BIO_write(*bio, *buf, len.l) As "_BIO_write"
  _BIO_free(*bio) As "_BIO_free"
  _PEM_read_bio_RSA_PUBKEY(*bp, *rsa, *cb, *u) As "_PEM_read_bio_RSA_PUBKEY"
  _PEM_read_bio_RSAPrivateKey(*bp, *rsa, *cb, *u) As "_PEM_read_bio_RSAPrivateKey"
  _RSA_public_encrypt(flen.l, *from, *|/1/>to, *rsa, padding.l) As "_RSA_public_encrypt"
  _RSA_public_decrypt(flen.l, *from, *|/1/>to, *rsa, padding.l) As "_RSA_public_decrypt"
  _RSA_private_decrypt(flen.l, *from, *|/1/>to, *rsa, padding.l) As "_RSA_private_decrypt"
  _RSA_free(*rsa) As "_RSA_free"
EndImport
 
; Encrypt with public key
Procedure.s RSA_Public_Encrypt(Message.s, Key.s)
  EncryptedString.s = ""
  *BIO = _BIO_new(_BIO_s_mem())
  If *BIO
    Len = StringByteLength(Key)
    If _BIO_write(*BIO, @Key, Len)
      *RSA = _PEM_read_bio_RSA_PUBKEY(*BIO, #Null, #Null, #Null)
      If *RSA
        Len = StringByteLength(Message)
        *Buffer = AllocateMemory(256)
        Len = _RSA_public_encrypt(Len, @Message, *Buffer, *RSA, 1)
        If Len>0
          EncryptedString = PeekS(*Buffer, Len)
        EndIf
        FreeMemory(*Buffer)
      EndIf
      _RSA_free(*RSA)
    EndIf
    _BIO_Free(*BIO)
  EndIf
  ProcedureReturn EncryptedString
EndProcedure
 
 
Procedure.s RSA_Private_Decrypt(Message.s, Key.s)
  DecryptedString.s = ""
  *BIO = _BIO_new(_BIO_s_mem())
  If *BIO
    Len = StringByteLength(Key)
    If _BIO_write(*BIO, @Key, Len)
      *RSA = _PEM_read_bio_RSAPrivateKey(*BIO, #Null, #Null, #Null)
      If *RSA
        Len = StringByteLength(Message)
        *Buffer = AllocateMemory(256)
        Len = _RSA_private_decrypt(Len, @Message, *Buffer, *RSA, 1)
        If Len>0
          DecryptedString = PeekS(*Buffer, Len)
        EndIf
        FreeMemory(*Buffer)
      EndIf
      _RSA_free(*RSA)
    EndIf
    _BIO_Free(*BIO)
  EndIf
  ProcedureReturn DecryptedString
EndProcedure
 
 
; Decrypt with public key
Procedure.s RSA_Public_Decrypt(Message.s, Key.s)
  DecryptedString.s = ""
  *BIO = _BIO_new(_BIO_s_mem())
  If *BIO
    Len = StringByteLength(Key)
    If _BIO_write(*BIO, @Key, Len)
      *RSA = _PEM_read_bio_RSA_PUBKEY(*BIO, #Null, #Null, #Null)
      If *RSA
        Len = StringByteLength(Message)
        *Buffer = AllocateMemory(2048)
        Len = _RSA_public_decrypt(Len, @Message, *Buffer, *RSA, 1)
        If Len>0
          DecryptedString = PeekS(*Buffer, Len)
        EndIf
        FreeMemory(*Buffer)
      EndIf
      _RSA_free(*RSA)
    EndIf
    _BIO_Free(*BIO)
  EndIf
  ProcedureReturn DecryptedString
EndProcedure
 
pubkey$ = "-----BEGIN PUBLIC KEY-----"+ Chr(13) + Chr(10)
pubkey$ + "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAq0CdaIdQ+U6oDRlL+tYP"+ Chr(13) + Chr(10)
pubkey$ + "cOeMFWApID+/ZcuGzHvTuWyOWBAsNPf2jsqLWP/2dg4cqnT9ANohzwVK7M22koa0"+ Chr(13) + Chr(10)
pubkey$ + "/jSNQGUaJygztnlz3qQ3OT3yrdSXAWrPyppdhBND6QQ4LRgtt0gitF/Iz90oqgjJ"+ Chr(13) + Chr(10)
pubkey$ + "kSU1/lbtupfNJcLu29WypuQ4vdrV4mvmYCJQPO4ngdNzAblZolBR27ZdYy8Op58C"+ Chr(13) + Chr(10)
pubkey$ + "bay9Y8rsvvoZUqGrA56/eeSNWWokpiflI0Si1m3iyrkDSqFr8W9aOuRZSWBdF1BN"+ Chr(13) + Chr(10)
pubkey$ + "ox8bXOb4MmlucuY/qnFUNrt8hv8Z4vOLlydaurijSyjyF5XZW5W12eWlbL2p7POA"+ Chr(13) + Chr(10)
pubkey$ + "2wIDAQAB"+ Chr(13) + Chr(10)
pubkey$ + "-----END PUBLIC KEY-----"
 
 
privkey$ = "-----BEGIN PRIVATE KEY-----"+ Chr(13) + Chr(10)
privkey$ +"MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQCrQJ1oh1D5TqgN"+ Chr(13) + Chr(10)
privkey$ +"GUv61g9w54wVYCkgP79ly4bMe9O5bI5YECw09/aOyotY//Z2DhyqdP0A2iHPBUrs"+ Chr(13) + Chr(10)
privkey$ +"zbaShrT+NI1AZRonKDO2eXPepDc5PfKt1JcBas/Kml2EE0PpBDgtGC23SCK0X8jP"+ Chr(13) + Chr(10)
privkey$ +"3SiqCMmRJTX+Vu26l80lwu7b1bKm5Di92tXia+ZgIlA87ieB03MBuVmiUFHbtl1j"+ Chr(13) + Chr(10)
privkey$ +"Lw6nnwJtrL1jyuy++hlSoasDnr955I1ZaiSmJ+UjRKLWbeLKuQNKoWvxb1o65FlJ"+ Chr(13) + Chr(10)
privkey$ +"YF0XUE2jHxtc5vgyaW5y5j+qcVQ2u3yG/xni84uXJ1q6uKNLKPIXldlblbXZ5aVs"+ Chr(13) + Chr(10)
privkey$ +"vans84DbAgMBAAECggEBAIjD4rIfFzDze0xyvnZFzDEcCojrsgx6PK3cO/xEjBNS"+ Chr(13) + Chr(10)
privkey$ +"ud9kkxl+Sl9BLMZYLQmdPZF4OrIagtOlY2/43ezpPdSiPYiG9br95Ua+eiX9uciy"+ Chr(13) + Chr(10)
privkey$ +"S4Q9+pb8KZShcTvQcvS+FOsWmzP7nRO2R1aSRi59NBUBxbwoylSxdPnKUx4n7TRQ"+ Chr(13) + Chr(10)
privkey$ +"UfQeARsLmHOOS4O1JsZ5i1uzmM824mq5DG5/KnIXsQ0tw+shxW9sNzmE0qKuF+mF"+ Chr(13) + Chr(10)
privkey$ +"KqOdF3fsH31h1X/roqtXQiixpXd+mb9gCrZad7aaePjqPnXXhpYOPvb5veIeEGqL"+ Chr(13) + Chr(10)
privkey$ +"n+6EGAGN+C9lxFTxF+XvAQweV7s3+Dqro1n0Hq60ZLECgYEA4oCAjKOYTYXRV8iC"+ Chr(13) + Chr(10)
privkey$ +"uoudJPXq2O8BqpnvNxo9iI5Tn8aoG19VStQ9OOGpXHlICv423QE1cbpXNivEhZ+H"+ Chr(13) + Chr(10)
privkey$ +"teS1P01FBa/pG+gYOzwUc007aD3CI3xHGqVXQk006hejeyeH39pq9xmA/nfv78rX"+ Chr(13) + Chr(10)
privkey$ +"w5mhxw82hunPeYeizFbZRPCaxgMCgYEAwY4cf9/34KPaqD0+Zl2JdfeA6AmaoAeZ"+ Chr(13) + Chr(10)
privkey$ +"jtnckfuuushStyIYw/zvSrzpC6fh/5HVzjxWUM8HEkysjllQGJrlaw7tGEAlDefY"+ Chr(13) + Chr(10)
privkey$ +"/FXEtyzMswUKNl8rXq93dskknszWnDwE9l97zLalVndK2MtpmliWSrAZYPawY664"+ Chr(13) + Chr(10)
privkey$ +"Tg9xek1prkkCgYBSKyn3W1XiMbybKut5/zIX+XqkDji9ijCE/ej6xB9EJE5R98i6"+ Chr(13) + Chr(10)
privkey$ +"Z7p6Cytkl77x9f0zOcAIrP/8b+5QR2p1Ky4xc7epc4KOlClOO+JzXb5Cd70ZIHmv"+ Chr(13) + Chr(10)
privkey$ +"CfJY5CdhEQhGojWhmNwbHk50glAx3pVdqTtOOo+ea+3PecwucwdJAjwzvwKBgQCD"+ Chr(13) + Chr(10)
privkey$ +"CoW9BZM6oXSeRqiCgX1ZQrIhZq8q/To3fsRYiX8osgteNVVzC0Gu5esZmxXlA4Uv"+ Chr(13) + Chr(10)
privkey$ +"VaZSm3d8KjEBRvJ1VhlQvBBFRNhRa9B6Nk8yfMAxy424dgJU3pMQ9uk2IhSCPhhV"+ Chr(13) + Chr(10)
privkey$ +"/RtB475Ypfckg8MBXkySUFs+TIXrVxUstEPtu497EQKBgQCd9adyDpk655WCzC2J"+ Chr(13) + Chr(10)
privkey$ +"JP6AFHIAG7OnVzd66KBYuYVL4NVzCnZZorFK7tkdqOZz5ohdpufqvPy8oHB25asx"+ Chr(13) + Chr(10)
privkey$ +"aaLMrUzhoEPD5a4dm8bHfOMI1WBef4q8xRRGHhNhBXkq/DekxWPBvitPaTzLa/8z"+ Chr(13) + Chr(10)
privkey$ +"52TbX4VrmirjwBHlRbSUCkAGkg=="+ Chr(13) + Chr(10)
privkey$ +"-----END PRIVATE KEY-----"
 
 
 
 
While 1
  encstr$ = RSA_Public_Encrypt("test", pubkey$)
  MessageRequester("", RSA_Private_Decrypt(encstr$, privkey$))
Wend



Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Шифрование ключами
СообщениеДобавлено: Пн янв 27, 2014 3:16 pm 
Не в сети
профессор

Зарегистрирован: Пн янв 03, 2011 4:27 pm
Сообщений: 410
Благодарил (а): 5 раз.
Поблагодарили: 17 раз.
Пункты репутации: 0
barby, так пойдет
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
;{
ImportC "libeay32.lib"
  _BIO_s_mem() As "_BIO_s_mem"
  _BIO_new(*type) As "_BIO_new"
  _BIO_write(*bio, *buf, len.l) As "_BIO_write"
  _BIO_free(*bio) As "_BIO_free"
  _PEM_read_bio_RSA_PUBKEY(*bp, *rsa, *cb, *u) As "_PEM_read_bio_RSA_PUBKEY"
  _PEM_read_bio_RSAPrivateKey(*bp, *rsa, *cb, *u) As "_PEM_read_bio_RSAPrivateKey"
  _RSA_public_encrypt(flen.l, *from, *|/1/>to, *rsa, padding.l) As "_RSA_public_encrypt"
  _RSA_public_decrypt(flen.l, *from, *|/1/>to, *rsa, padding.l) As "_RSA_public_decrypt"
  _RSA_private_decrypt(flen.l, *from, *|/1/>to, *rsa, padding.l) As "_RSA_private_decrypt"
  _RSA_free(*rsa) As "_RSA_free"
EndImport
;}
; Encrypt with public key
Procedure.s RSA_Public_Encrypt(Message.s, Key.s, *Message0)
  EncryptedString.s = ""
  *BIO = _BIO_new(_BIO_s_mem())
  If *BIO
    Len = StringByteLength(Key)
    If _BIO_write(*BIO, @Key, Len)
      *RSA = _PEM_read_bio_RSA_PUBKEY(*BIO, #Null, #Null, #Null)
      If *RSA
        Len = StringByteLength(Message)
        *Buffer = AllocateMemory(256)
        Len = _RSA_public_encrypt(Len, @Message, *Buffer, *RSA, 1)
        If Len>0
          CopyMemory(*Buffer, *Message0, 256)
          EncryptedString = PeekS(*Buffer, Len)
        EndIf
        FreeMemory(*Buffer)
      EndIf
      _RSA_free(*RSA)
    EndIf
    _BIO_Free(*BIO)
  EndIf
  ProcedureReturn EncryptedString
EndProcedure
 
 
Procedure.s RSA_Private_Decrypt(*Message, Key.s)
  DecryptedString.s = ""
  *BIO = _BIO_new(_BIO_s_mem())
  If *BIO
    Len = StringByteLength(Key)
    If _BIO_write(*BIO, @Key, Len)
      *RSA = _PEM_read_bio_RSAPrivateKey(*BIO, #Null, #Null, #Null)
      If *RSA
        Len = MemorySize(*Message)
        *Buffer = AllocateMemory(256)
        Len = _RSA_private_decrypt(Len, *Message, *Buffer, *RSA, 1)
        If Len>0
          DecryptedString = PeekS(*Buffer, Len)
        EndIf
        FreeMemory(*Buffer)
      EndIf
      _RSA_free(*RSA)
    EndIf
    _BIO_Free(*BIO)
  EndIf
  ProcedureReturn DecryptedString
EndProcedure
 
 
; Decrypt with public key
Procedure.s RSA_Public_Decrypt(Message.s, Key.s)
  DecryptedString.s = ""
  *BIO = _BIO_new(_BIO_s_mem())
  If *BIO
    Len = StringByteLength(Key)
    If _BIO_write(*BIO, @Key, Len)
      *RSA = _PEM_read_bio_RSA_PUBKEY(*BIO, #Null, #Null, #Null)
      If *RSA
        Len = StringByteLength(Message)
        *Buffer = AllocateMemory(2048)
        Len = _RSA_public_decrypt(Len, @Message, *Buffer, *RSA, 1)
        If Len>0
          DecryptedString = PeekS(*Buffer, Len)
        EndIf
        FreeMemory(*Buffer)
      EndIf
      _RSA_free(*RSA)
    EndIf
    _BIO_Free(*BIO)
  EndIf
  ProcedureReturn DecryptedString
EndProcedure
;{
pubkey$ = "-----BEGIN PUBLIC KEY-----"+ Chr(13) + Chr(10)
pubkey$ + "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAq0CdaIdQ+U6oDRlL+tYP"+ Chr(13) + Chr(10)
pubkey$ + "cOeMFWApID+/ZcuGzHvTuWyOWBAsNPf2jsqLWP/2dg4cqnT9ANohzwVK7M22koa0"+ Chr(13) + Chr(10)
pubkey$ + "/jSNQGUaJygztnlz3qQ3OT3yrdSXAWrPyppdhBND6QQ4LRgtt0gitF/Iz90oqgjJ"+ Chr(13) + Chr(10)
pubkey$ + "kSU1/lbtupfNJcLu29WypuQ4vdrV4mvmYCJQPO4ngdNzAblZolBR27ZdYy8Op58C"+ Chr(13) + Chr(10)
pubkey$ + "bay9Y8rsvvoZUqGrA56/eeSNWWokpiflI0Si1m3iyrkDSqFr8W9aOuRZSWBdF1BN"+ Chr(13) + Chr(10)
pubkey$ + "ox8bXOb4MmlucuY/qnFUNrt8hv8Z4vOLlydaurijSyjyF5XZW5W12eWlbL2p7POA"+ Chr(13) + Chr(10)
pubkey$ + "2wIDAQAB"+ Chr(13) + Chr(10)
pubkey$ + "-----END PUBLIC KEY-----"
 
 
privkey$ = "-----BEGIN PRIVATE KEY-----"+ Chr(13) + Chr(10)
privkey$ +"MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQCrQJ1oh1D5TqgN"+ Chr(13) + Chr(10)
privkey$ +"GUv61g9w54wVYCkgP79ly4bMe9O5bI5YECw09/aOyotY//Z2DhyqdP0A2iHPBUrs"+ Chr(13) + Chr(10)
privkey$ +"zbaShrT+NI1AZRonKDO2eXPepDc5PfKt1JcBas/Kml2EE0PpBDgtGC23SCK0X8jP"+ Chr(13) + Chr(10)
privkey$ +"3SiqCMmRJTX+Vu26l80lwu7b1bKm5Di92tXia+ZgIlA87ieB03MBuVmiUFHbtl1j"+ Chr(13) + Chr(10)
privkey$ +"Lw6nnwJtrL1jyuy++hlSoasDnr955I1ZaiSmJ+UjRKLWbeLKuQNKoWvxb1o65FlJ"+ Chr(13) + Chr(10)
privkey$ +"YF0XUE2jHxtc5vgyaW5y5j+qcVQ2u3yG/xni84uXJ1q6uKNLKPIXldlblbXZ5aVs"+ Chr(13) + Chr(10)
privkey$ +"vans84DbAgMBAAECggEBAIjD4rIfFzDze0xyvnZFzDEcCojrsgx6PK3cO/xEjBNS"+ Chr(13) + Chr(10)
privkey$ +"ud9kkxl+Sl9BLMZYLQmdPZF4OrIagtOlY2/43ezpPdSiPYiG9br95Ua+eiX9uciy"+ Chr(13) + Chr(10)
privkey$ +"S4Q9+pb8KZShcTvQcvS+FOsWmzP7nRO2R1aSRi59NBUBxbwoylSxdPnKUx4n7TRQ"+ Chr(13) + Chr(10)
privkey$ +"UfQeARsLmHOOS4O1JsZ5i1uzmM824mq5DG5/KnIXsQ0tw+shxW9sNzmE0qKuF+mF"+ Chr(13) + Chr(10)
privkey$ +"KqOdF3fsH31h1X/roqtXQiixpXd+mb9gCrZad7aaePjqPnXXhpYOPvb5veIeEGqL"+ Chr(13) + Chr(10)
privkey$ +"n+6EGAGN+C9lxFTxF+XvAQweV7s3+Dqro1n0Hq60ZLECgYEA4oCAjKOYTYXRV8iC"+ Chr(13) + Chr(10)
privkey$ +"uoudJPXq2O8BqpnvNxo9iI5Tn8aoG19VStQ9OOGpXHlICv423QE1cbpXNivEhZ+H"+ Chr(13) + Chr(10)
privkey$ +"teS1P01FBa/pG+gYOzwUc007aD3CI3xHGqVXQk006hejeyeH39pq9xmA/nfv78rX"+ Chr(13) + Chr(10)
privkey$ +"w5mhxw82hunPeYeizFbZRPCaxgMCgYEAwY4cf9/34KPaqD0+Zl2JdfeA6AmaoAeZ"+ Chr(13) + Chr(10)
privkey$ +"jtnckfuuushStyIYw/zvSrzpC6fh/5HVzjxWUM8HEkysjllQGJrlaw7tGEAlDefY"+ Chr(13) + Chr(10)
privkey$ +"/FXEtyzMswUKNl8rXq93dskknszWnDwE9l97zLalVndK2MtpmliWSrAZYPawY664"+ Chr(13) + Chr(10)
privkey$ +"Tg9xek1prkkCgYBSKyn3W1XiMbybKut5/zIX+XqkDji9ijCE/ej6xB9EJE5R98i6"+ Chr(13) + Chr(10)
privkey$ +"Z7p6Cytkl77x9f0zOcAIrP/8b+5QR2p1Ky4xc7epc4KOlClOO+JzXb5Cd70ZIHmv"+ Chr(13) + Chr(10)
privkey$ +"CfJY5CdhEQhGojWhmNwbHk50glAx3pVdqTtOOo+ea+3PecwucwdJAjwzvwKBgQCD"+ Chr(13) + Chr(10)
privkey$ +"CoW9BZM6oXSeRqiCgX1ZQrIhZq8q/To3fsRYiX8osgteNVVzC0Gu5esZmxXlA4Uv"+ Chr(13) + Chr(10)
privkey$ +"VaZSm3d8KjEBRvJ1VhlQvBBFRNhRa9B6Nk8yfMAxy424dgJU3pMQ9uk2IhSCPhhV"+ Chr(13) + Chr(10)
privkey$ +"/RtB475Ypfckg8MBXkySUFs+TIXrVxUstEPtu497EQKBgQCd9adyDpk655WCzC2J"+ Chr(13) + Chr(10)
privkey$ +"JP6AFHIAG7OnVzd66KBYuYVL4NVzCnZZorFK7tkdqOZz5ohdpufqvPy8oHB25asx"+ Chr(13) + Chr(10)
privkey$ +"aaLMrUzhoEPD5a4dm8bHfOMI1WBef4q8xRRGHhNhBXkq/DekxWPBvitPaTzLa/8z"+ Chr(13) + Chr(10)
privkey$ +"52TbX4VrmirjwBHlRbSUCkAGkg=="+ Chr(13) + Chr(10)
privkey$ +"-----END PRIVATE KEY-----"
;}
 
 
*Mes = AllocateMemory(256)
While 1
  encstr$ = RSA_Public_Encrypt("test", pubkey$, *Mes)
  MessageRequester("", RSA_Private_Decrypt(*Mes, privkey$))
Wend



Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Шифрование ключами
СообщениеДобавлено: Вт янв 31, 2017 12:11 pm 
Не в сети
ассистент
Аватар пользователя

Зарегистрирован: Вт мар 03, 2015 4:20 pm
Сообщений: 24
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.
Приветствую гуру подыму тему ибо перерыл весь форум но рабочий код не нашел на забугорках тоже смотрел но маловато опыту что б сделать работоспособный код
версия пурика 5,30
что можно еще попробывать?
Пробывал:
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
#RSA_PKCS1_PADDING      = 1
#RSA_SSLV23_PADDING =   2
#RSA_NO_PADDING         = 3
#RSA_PKCS1_OAEP_PADDING = 4
#RSA_X931_PADDING        = 5
#RSA_PKCS1_PADDING_SIZE =       11
 
ImportC "msvcrt.lib"
  fopen(a.s, b.s)
EndImport
 
Prototype.l RSA_generate_key_ (bits.l, e.l, a, *cb_arg)
Prototype.l RSA_size_ (RSA)
Prototype.l RSA_public_encrypt_(flen.l, *from,  *>/1/>To, *rsa, padding.l)
Prototype.l RSA_private_decryp_(flen.l, *from,  *>/1/>To, *rsa, padding.l)
Prototype.l PEM_read_RSA_PUBKEY_(fp,x,cb,u)
Prototype.l PEM_read_RSAPrivateKey_(fp,x,cb,u)
 
 
Procedure filesave(File.s, *memo, lenn)
 
  If CreateFile(0, File.s)    
    Debug File.s
    WriteData(0, *memo, lenn)        
    CloseFile(0)                        
  Else
    PrintN("may not create the file!")
    Input()
  EndIf
EndProcedure  
Procedure fele(file$)
  If ReadFile(0, file$)
    length = Lof(0)                          
    *MemoryID = AllocateMemory(length)      
    If *MemoryID
      bytes = ReadData(0, *MemoryID, length)  
     
    EndIf
    CloseFile(0)
  EndIf
  ProcedureReturn *MemoryID
EndProcedure
;{
If OpenLibrary(0, "libeay32.dll")  
  RSA_generate_key.RSA_generate_key_ = GetFunction(0, "RSA_generate_key")
  RSA_size.RSA_size_ = GetFunction(0, "RSA_size")
  RSA_public_encrypt.RSA_public_encrypt_ = GetFunction(0, "RSA_public_encrypt")
  RSA_private_decryp.RSA_private_decryp_ = GetFunction(0, "RSA_private_decrypt")
 
  PEM_read_RSA_PUBKEY.PEM_read_RSA_PUBKEY_ = GetFunction(0, "PEM_read_RSA_PUBKEY")
  PEM_read_RSAPrivateKey.PEM_read_RSAPrivateKey_ = GetFunction(0, "PEM_read_RSAPrivateKey")
EndIf
;}
OpenConsole()
pub_key_file =  fopen("pubkey.pem", "rw")
Pri_key_file =  fopen("privkey.pem", "rw")
 
pubKey = PEM_read_RSA_PUBKEY(pub_key_file, #Null, #Null, #Null)
priKey = PEM_read_RSAPrivateKey(Pri_key_file, #Null, #Null, #Null)
 
PrintN("PEM_read_RSA_PUBKEY")
 
buf.s = "The test string for encrypt/decrypt"
;key_size = RSA_size(pubKey)
*ptext =  AllocateMemory(RSA_size(priKey))
*ctext = AllocateMemory(RSA_size(pubKey))
 
rsape1 = RSA_public_encrypt(36, @buf.s, *ctext, pubKey, #RSA_PKCS1_PADDING)
filesave("1.txt", *ctext, rsape1)
 
wer = RSA_size(priKey)
rsapd2 = RSA_private_decryp(wer, *ctext, *ptext, priKey, #RSA_PKCS1_PADDING)
filesave("2.txt", *ptext, rsapd2)
 



Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Шифрование ключами
СообщениеДобавлено: Вт янв 31, 2017 1:24 pm 
Не в сети
ассистент
Аватар пользователя

Зарегистрирован: Вт мар 03, 2015 4:20 pm
Сообщений: 24
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.
@ZOLO@ писал(а):
barby, так пойдет
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
;{
ImportC "libeay32.lib"
  _BIO_s_mem() As "_BIO_s_mem"
  _BIO_new(*type) As "_BIO_new"
  _BIO_write(*bio, *buf, len.l) As "_BIO_write"
  _BIO_free(*bio) As "_BIO_free"
  _PEM_read_bio_RSA_PUBKEY(*bp, *rsa, *cb, *u) As "_PEM_read_bio_RSA_PUBKEY"
  _PEM_read_bio_RSAPrivateKey(*bp, *rsa, *cb, *u) As "_PEM_read_bio_RSAPrivateKey"
  _RSA_public_encrypt(flen.l, *from, *|/1/>to, *rsa, padding.l) As "_RSA_public_encrypt"
  _RSA_public_decrypt(flen.l, *from, *|/1/>to, *rsa, padding.l) As "_RSA_public_decrypt"
  _RSA_private_decrypt(flen.l, *from, *|/1/>to, *rsa, padding.l) As "_RSA_private_decrypt"
  _RSA_free(*rsa) As "_RSA_free"
EndImport
;}
; Encrypt with public key
Procedure.s RSA_Public_Encrypt(Message.s, Key.s, *Message0)
  EncryptedString.s = ""
  *BIO = _BIO_new(_BIO_s_mem())
  If *BIO
    Len = StringByteLength(Key)
    If _BIO_write(*BIO, @Key, Len)
      *RSA = _PEM_read_bio_RSA_PUBKEY(*BIO, #Null, #Null, #Null)
      If *RSA
        Len = StringByteLength(Message)
        *Buffer = AllocateMemory(256)
        Len = _RSA_public_encrypt(Len, @Message, *Buffer, *RSA, 1)
        If Len>0
          CopyMemory(*Buffer, *Message0, 256)
          EncryptedString = PeekS(*Buffer, Len)
        EndIf
        FreeMemory(*Buffer)
      EndIf
      _RSA_free(*RSA)
    EndIf
    _BIO_Free(*BIO)
  EndIf
  ProcedureReturn EncryptedString
EndProcedure
 
 
Procedure.s RSA_Private_Decrypt(*Message, Key.s)
  DecryptedString.s = ""
  *BIO = _BIO_new(_BIO_s_mem())
  If *BIO
    Len = StringByteLength(Key)
    If _BIO_write(*BIO, @Key, Len)
      *RSA = _PEM_read_bio_RSAPrivateKey(*BIO, #Null, #Null, #Null)
      If *RSA
        Len = MemorySize(*Message)
        *Buffer = AllocateMemory(256)
        Len = _RSA_private_decrypt(Len, *Message, *Buffer, *RSA, 1)
        If Len>0
          DecryptedString = PeekS(*Buffer, Len)
        EndIf
        FreeMemory(*Buffer)
      EndIf
      _RSA_free(*RSA)
    EndIf
    _BIO_Free(*BIO)
  EndIf
  ProcedureReturn DecryptedString
EndProcedure
 
 
; Decrypt with public key
Procedure.s RSA_Public_Decrypt(Message.s, Key.s)
  DecryptedString.s = ""
  *BIO = _BIO_new(_BIO_s_mem())
  If *BIO
    Len = StringByteLength(Key)
    If _BIO_write(*BIO, @Key, Len)
      *RSA = _PEM_read_bio_RSA_PUBKEY(*BIO, #Null, #Null, #Null)
      If *RSA
        Len = StringByteLength(Message)
        *Buffer = AllocateMemory(2048)
        Len = _RSA_public_decrypt(Len, @Message, *Buffer, *RSA, 1)
        If Len>0
          DecryptedString = PeekS(*Buffer, Len)
        EndIf
        FreeMemory(*Buffer)
      EndIf
      _RSA_free(*RSA)
    EndIf
    _BIO_Free(*BIO)
  EndIf
  ProcedureReturn DecryptedString
EndProcedure
;{
pubkey$ = "-----BEGIN PUBLIC KEY-----"+ Chr(13) + Chr(10)
pubkey$ + "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAq0CdaIdQ+U6oDRlL+tYP"+ Chr(13) + Chr(10)
pubkey$ + "cOeMFWApID+/ZcuGzHvTuWyOWBAsNPf2jsqLWP/2dg4cqnT9ANohzwVK7M22koa0"+ Chr(13) + Chr(10)
pubkey$ + "/jSNQGUaJygztnlz3qQ3OT3yrdSXAWrPyppdhBND6QQ4LRgtt0gitF/Iz90oqgjJ"+ Chr(13) + Chr(10)
pubkey$ + "kSU1/lbtupfNJcLu29WypuQ4vdrV4mvmYCJQPO4ngdNzAblZolBR27ZdYy8Op58C"+ Chr(13) + Chr(10)
pubkey$ + "bay9Y8rsvvoZUqGrA56/eeSNWWokpiflI0Si1m3iyrkDSqFr8W9aOuRZSWBdF1BN"+ Chr(13) + Chr(10)
pubkey$ + "ox8bXOb4MmlucuY/qnFUNrt8hv8Z4vOLlydaurijSyjyF5XZW5W12eWlbL2p7POA"+ Chr(13) + Chr(10)
pubkey$ + "2wIDAQAB"+ Chr(13) + Chr(10)
pubkey$ + "-----END PUBLIC KEY-----"
 
 
privkey$ = "-----BEGIN PRIVATE KEY-----"+ Chr(13) + Chr(10)
privkey$ +"MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQCrQJ1oh1D5TqgN"+ Chr(13) + Chr(10)
privkey$ +"GUv61g9w54wVYCkgP79ly4bMe9O5bI5YECw09/aOyotY//Z2DhyqdP0A2iHPBUrs"+ Chr(13) + Chr(10)
privkey$ +"zbaShrT+NI1AZRonKDO2eXPepDc5PfKt1JcBas/Kml2EE0PpBDgtGC23SCK0X8jP"+ Chr(13) + Chr(10)
privkey$ +"3SiqCMmRJTX+Vu26l80lwu7b1bKm5Di92tXia+ZgIlA87ieB03MBuVmiUFHbtl1j"+ Chr(13) + Chr(10)
privkey$ +"Lw6nnwJtrL1jyuy++hlSoasDnr955I1ZaiSmJ+UjRKLWbeLKuQNKoWvxb1o65FlJ"+ Chr(13) + Chr(10)
privkey$ +"YF0XUE2jHxtc5vgyaW5y5j+qcVQ2u3yG/xni84uXJ1q6uKNLKPIXldlblbXZ5aVs"+ Chr(13) + Chr(10)
privkey$ +"vans84DbAgMBAAECggEBAIjD4rIfFzDze0xyvnZFzDEcCojrsgx6PK3cO/xEjBNS"+ Chr(13) + Chr(10)
privkey$ +"ud9kkxl+Sl9BLMZYLQmdPZF4OrIagtOlY2/43ezpPdSiPYiG9br95Ua+eiX9uciy"+ Chr(13) + Chr(10)
privkey$ +"S4Q9+pb8KZShcTvQcvS+FOsWmzP7nRO2R1aSRi59NBUBxbwoylSxdPnKUx4n7TRQ"+ Chr(13) + Chr(10)
privkey$ +"UfQeARsLmHOOS4O1JsZ5i1uzmM824mq5DG5/KnIXsQ0tw+shxW9sNzmE0qKuF+mF"+ Chr(13) + Chr(10)
privkey$ +"KqOdF3fsH31h1X/roqtXQiixpXd+mb9gCrZad7aaePjqPnXXhpYOPvb5veIeEGqL"+ Chr(13) + Chr(10)
privkey$ +"n+6EGAGN+C9lxFTxF+XvAQweV7s3+Dqro1n0Hq60ZLECgYEA4oCAjKOYTYXRV8iC"+ Chr(13) + Chr(10)
privkey$ +"uoudJPXq2O8BqpnvNxo9iI5Tn8aoG19VStQ9OOGpXHlICv423QE1cbpXNivEhZ+H"+ Chr(13) + Chr(10)
privkey$ +"teS1P01FBa/pG+gYOzwUc007aD3CI3xHGqVXQk006hejeyeH39pq9xmA/nfv78rX"+ Chr(13) + Chr(10)
privkey$ +"w5mhxw82hunPeYeizFbZRPCaxgMCgYEAwY4cf9/34KPaqD0+Zl2JdfeA6AmaoAeZ"+ Chr(13) + Chr(10)
privkey$ +"jtnckfuuushStyIYw/zvSrzpC6fh/5HVzjxWUM8HEkysjllQGJrlaw7tGEAlDefY"+ Chr(13) + Chr(10)
privkey$ +"/FXEtyzMswUKNl8rXq93dskknszWnDwE9l97zLalVndK2MtpmliWSrAZYPawY664"+ Chr(13) + Chr(10)
privkey$ +"Tg9xek1prkkCgYBSKyn3W1XiMbybKut5/zIX+XqkDji9ijCE/ej6xB9EJE5R98i6"+ Chr(13) + Chr(10)
privkey$ +"Z7p6Cytkl77x9f0zOcAIrP/8b+5QR2p1Ky4xc7epc4KOlClOO+JzXb5Cd70ZIHmv"+ Chr(13) + Chr(10)
privkey$ +"CfJY5CdhEQhGojWhmNwbHk50glAx3pVdqTtOOo+ea+3PecwucwdJAjwzvwKBgQCD"+ Chr(13) + Chr(10)
privkey$ +"CoW9BZM6oXSeRqiCgX1ZQrIhZq8q/To3fsRYiX8osgteNVVzC0Gu5esZmxXlA4Uv"+ Chr(13) + Chr(10)
privkey$ +"VaZSm3d8KjEBRvJ1VhlQvBBFRNhRa9B6Nk8yfMAxy424dgJU3pMQ9uk2IhSCPhhV"+ Chr(13) + Chr(10)
privkey$ +"/RtB475Ypfckg8MBXkySUFs+TIXrVxUstEPtu497EQKBgQCd9adyDpk655WCzC2J"+ Chr(13) + Chr(10)
privkey$ +"JP6AFHIAG7OnVzd66KBYuYVL4NVzCnZZorFK7tkdqOZz5ohdpufqvPy8oHB25asx"+ Chr(13) + Chr(10)
privkey$ +"aaLMrUzhoEPD5a4dm8bHfOMI1WBef4q8xRRGHhNhBXkq/DekxWPBvitPaTzLa/8z"+ Chr(13) + Chr(10)
privkey$ +"52TbX4VrmirjwBHlRbSUCkAGkg=="+ Chr(13) + Chr(10)
privkey$ +"-----END PRIVATE KEY-----"
;}
 
 
*Mes = AllocateMemory(256)
While 1
  encstr$ = RSA_Public_Encrypt("test", pubkey$, *Mes)
  MessageRequester("", RSA_Private_Decrypt(*Mes, privkey$))
Wend


Этот вариант выдает:
Строка 9: Синтаксическая ошибка в аргументах процедуры.


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 19 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group (блог о phpBB)
Сборка создана CMSart Studio
Русская поддержка phpBB