- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
#include <stdio.h>
#include <conio.h>
#include <condefs.h>
int main() {
char str[]="любой текст";
int i=0;
while (str[i]!='\0') {
printf("%c", str[i++]^100);
if (str[i]=='\0') break;
printf("%c", str[i++]|10);
if (str[i]=='\0') break;
printf("%c", str[i++]&400);
if (str[i]=='\0') break;
}
printf("\n");
getch();
return 0;
}
SmackMyBitchUp 03.11.2011 22:49 # 0
Наверное, был бы просто выведен str[];
guest 04.11.2011 00:47 # 0
guest 04.11.2011 00:31 # +3
AnimeGovno-_- 04.11.2011 00:39 # −9
>int
INT_MAX
guest 04.11.2011 00:46 # −4
int r = rand();
if (r < 0) r = -r;
return 1 + r%max;
}
Lure Of Chaos 04.11.2011 11:57 # +3
да, обратимое шифрование....
SIGSEGV 04.11.2011 22:29 # 0
Lure Of Chaos 04.11.2011 22:32 # +2
absolut 04.11.2011 22:59 # −1
Lure Of Chaos 04.11.2011 23:01 # +2
absolut 04.11.2011 23:10 # −2
Lure Of Chaos 04.11.2011 23:15 # +1
хэширование - одностороннее преобразование к меньшему множеству именно с целью затруднить восстановление, для создания котрольных сумм, цифровых подписей и пр.
в общем, это все знает КО, я только акцентирую различия
eth0 05.11.2011 14:42 # 0
Криптографическое хэширование как раз требует однонаправленности и низкого числа коллизий.
Например, CRC32 - пример функции с большим числом коллизий, является однонаправленной, но может быть использована только для создания контрольных сумм, но не подписей.
И это всё также вполне очевидные сведения.
movaxbx 04.11.2011 23:14 # +1
Lure Of Chaos 04.11.2011 23:17 # 0
а я и забыл )
guest 05.11.2011 07:31 # 0
Хотя и её можно решить с помощью libastral
guest 04.11.2011 13:04 # 0
absolut 04.11.2011 19:02 # +2
AnimeGovno-_- 04.11.2011 19:57 # −9
AnimeGovno-_- 04.11.2011 20:23 # −10
!
AnimeGovno-_- 04.11.2011 20:27 # −10
AnimeGovno-_- 04.11.2011 20:27 # −9
guest 04.11.2011 21:26 # −7
guest 05.11.2011 19:09 # −5
guest 22.11.2011 16:55 # 0