Ako obmedzit pisanie znakov v C
Najlepšie tak aby ich uzivateľ nemohol ani zadať a program pri šifrovani použiť, dá sa to nejako nastaviť?
Správcovia projektu GRUB vydali celkovo 117 opráv kódu
Matematik Claus Peter Schnorr a jeho teória, ktorá môže ohroziť šifrovací systém RSA.
Ako posunúť Zabbix na vyššiu úroveň alebo "Čo nenájdete v out of the box inštalácii" odprezentuje séria Zabbix webinárov v slovenčine.
Medzi témami nájdete napr. servisný strom, integráciu Openshift klastrov, monitoring SAP prostredia a iné.
Bola vydaná nová verzia Mageia 8, ktorá je nasledovníkom Mandriva Linuxu. K stiahnutiu sú aj Live ISO s desktopmi GNOME, Plasma a Xfce. Linky na download nájdete na domovskej stránke a na stránkach DistroWatch.com
Server debugpoint.com zverejnil oznámenie o dostupnosti MX Linuxu pre Raspberry Pi aj s inštalačnou príručkou.
TensorFlow je end-to-end open source platforma pre strojové učenie.
Bola vydaná nová verzia Linux Mint 20.1 Ulyssa s LTS podporou - v troch vydaniach s desktopmi Cinnamon, MATE a Xfce. Bližšie informácie ako aj linky na download nájdete na domovskej stránke a na stránkach DistroWatch.com
Na vyše 100 tisíc firewall, VPN gateway a access point controller zariadeniach značky Zyxel bol nájdený účet s administrátorskými privilégiami, ktorý bol zapísaný priamo v kóde firmvéru. Tento účet zabezpečil útočníkovi root prístup či už cez ssh, alebo cez webadmin interface.
Dnes bol vydaný Quassel 0.14-rc1. Quassel IRC je moderný multiplatformový distribuovaný IRC klient.
Ak sa vám táto stránka páči, môžete nás podporiť tak, že si na vaše stránky umiestnite tento banner.
Náš Twitter tag je #LinuxOSsk
Skus blizsie specifikovat, co si predstavujes pod "zadat" a "pouzit".
made by Armis
#include <stdio.h>
void sifra(int posun); /*Deklaracia a definicia premennych*/
void desifra (int posun);
void program (int posun, int sifrovanie);
int main()
{
char c;
int posun, prem, sifrovanie;
do
{
printf("Zadaj hodnotu posunu: ");
scanf("%d", &prem);
if (prem < 0) printf("Zla hodnota, zadaj nezapornu hodnotu!!!\n");
}while (prem < 0); /*ak premenna je zaporne cislo opakuje cyklus*/
do{
posun = prem; /*do poun prirad premennu. Premenna sluzi na zapametanie zakladnej hodnoty*/
program (posun, sifrovanie); /*Volanie funkcie program*/
printf ("Stlacte bodku pre ukoncenie programu.\n");
c = getchar ();
putchar (c);
}while(c != '.'); /*Program sa spusti od zaciatku ak zadana znak nieje botka*/
return 0;
}
void sifra(int posun)
{
char p;
printf("Zadaj text: ");
p = getchar();
while(p != '\n')
{
if (p == ' ')
putchar(p);
putchar(p + posun);
p = getchar();
}
putchar(p);
}
void desifra(int posun)
{
char p;
printf("Zadaj text: ");
p = getchar();
while(p != '\n')
{
if (p == ' ')
putchar(p);
putchar(p - posun);
p = getchar();
}
putchar(p);
}
void program (int posun, int sifrovanie)
{
do
{
printf("Stlac 1 pre zasifrovanie, 0 pre odsifrovanie: ");
scanf("%d", &sifrovanie);
if (sifrovanie != 0 && sifrovanie !=1)
printf("Zla hodnota.\n");
}while (sifrovanie != 0 && sifrovanie !=1); /*ak zadane udaje niesu 0 alebo 1 opakuje cyklus*/
if(getchar() != '\n');
if (sifrovanie == 1)
sifra(posun); /*Volanie funkice sifrovania*/
else desifra(posun); /*Volanie funkcie desifrovania*/
}
Skus sa pozriet, ako taka ASCII tabulka vyzera. Asi chces osetrit, ked sa dostanes mimo interval tisknutelnych znakov.
Pri mojom prvom pokuse som chcel definovat znaky do pola, nech pouziva len tie co urcim ja a v pripade konca volenych znakov nech zacne odznova (osetrene pointerom).
Lenze vtedy som pouzival na porovnavanie znakov switch a definoval kazdu jednu hodnotu co nebolo najstastnejsie riesenie.
((znak+posun)%('~'-'!'+1))+'!'
Ze budem definovat len tie ktore ma poznat?
A este nez sa k tomu dostaneme ano som sudent, ano je so seminarka, ano chem programovat aj dalej, ibaze moje terajsie vedomosti na to nestacia.
Ten vyraz, co som uviedol vrati ASCII hodnotu vzdy taku, aby dany znak bol od znaku ! po znak ~.
dal som zasifrovat abcdefg
vyplulo to ♫☼►
A v originalnej sifre ostatne znaky nepouzivaly (sice ani cisla ale toto male rozsirenie mi odpustia, hadam.)
este pre kontrolu putchar((znak+posun)%('x'-'a'+1))+'a'; a malo by pouzivat len tieto male pismena?
Lebo som fakt s toho magor. Viem ANSCII ma presne definovanu postupnost znakov, no aj tak mi to vypisuje blbosti.
Celu tabulku som nastudoval, skusil som co viem, co si radil, ale aj tak sa s nim neviem dohodnut. :-/
Mozno ako zaciatok si skus zobrat ceruzku a papier. Na lavu stranu si napis vsupne znaky a na pravu stranu vystupne, tak aby prisluchali. Nakoniec zistis ako to chces prevadzat podla ASCII hodnoty jednotlivych znakov. Ak to chces nejak zbesilo, mozes si definovat napr nejaku tabulku a pomocou znaku do nej indexovat a tak ziskat vysledny znak.
Inac ta tabulka sa vola ASCII.