Zulip Server z open source komunikační platformy Zulip (Wikipedie, GitHub) byl vydán ve verzi 9.0. Přehled novinek v příspěvku na blogu.
Byla vydána (𝕏) nová verze 24.7 open source firewallové a routovací platformy OPNsense (Wikipedie). Jedná se o fork pfSense postavený na FreeBSD. Kódový název OPNsense 24.7 je Thriving Tiger. Přehled novinek v příspěvku na fóru.
Binarly REsearch upozorňuje na bezpečnostní problém PKFail (YouTube) v ekosystému UEFI. Stovky modelů zařízení používají pro Secure Boot testovací Platform Key vygenerovaný American Megatrends International (AMI) a jeho privátní část byla při úniku dat prozrazena. Do milionů zařízení (seznam v pdf) po celém světě tak útočníci mohou do Secure Bootu vložit podepsaný malware. Otestovat firmware si lze na stránce pk.fail. Ukázka PoC na Linuxu na Windows na YouTube.
Mobilní operační systém /e/OS (Wikipedie) založený na Androidu / LineageOS, ale bez aplikací a služeb od Googlu, byl vydán ve verzi 2.2 (Mastodon, 𝕏). Přehled novinek na GitLabu. Vypíchnuta je rodičovská kontrola.
Společnost OpenAI představila vyhledávač SearchGPT propojující OpenAI modely umělé inteligence a informace z webů v reálném čase. Zatím jako prototyp pro vybrané uživatele. Zapsat se lze do pořadníku čekatelů.
Distribuce Linux Mint 22 „Wilma“ byla vydána. Je založená na Ubuntu 24.04 LTS, ale s desktopovým prostředím Cinnamon (aktuálně verze 6.2), příp. MATE nebo Xfce, balíkem aplikací XApp, integrací balíčků Flatpak a dalšími změnami. Více v přehledu novinek a poznámkách k vydání.
Příspěvek na blogu Truffle Security: Kdokoli může přistupovat ke smazaným a privátním repozitářům na GitHubu.
Byla vydána nová verze 14 integrovaného vývojového prostředí (IDE) Qt Creator. Podrobný přehled novinek v cgitu. Vypíchnout lze podporu rozšíření v Lua.
Byla vydána verze 1.80.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.
Apple oznámil, že v beta verzi spustil své Apple Maps na webu. Podporován je také webový prohlížeč Chrome. Ne však na Linuxu.
Public Class Form1
Dim abeceda() = {"a", "b", "c", "d", "e", "f", "g", "h", "ch", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"}
Private Sub TextBox2_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox2.TextChanged
End Sub
Private Sub TextBox3_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox3.TextChanged
End Sub
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If ComboBox1.SelectedItem = "Zašifruj" Then
For
Next
ElseIf ComboBox1.SelectedItem = "Rozšifruj" Then
For
Next
Else : MsgBox("Nevybrali jste akci.")
End If
End Sub
End Class
Je mi jasny, ze prepocet jednotlivych pismen v textu na pismena nachazejici se v abecede o 3 mista dale docilim pomoci pole, jednoduse vytvorim pole s abecedou, v poli se mi najde prvni pismeno v textu a posune se o 3 mista dale. Pak se preskoci na druhe pismeno v retezci, najde se v abecede a znovu se posune a tak se to opakuje do doby, nez je zasifrovany cely text. V tomto pripade musim vyuzit cyklus, ktery bude prechazet na dalsi pismena v textu. Jenze netusim, jak s textem v textboxu 2 pracovat jako s jednotlivymi pismeny, jak to prevest? Jak mam s tim textem zadanym do textboxu 2 pracovat?
respektive pokud nepodporuje visualbasic jine nez ciselne indexy, tak pouzij ascii hodnotu znaku (treba stylem znak - 'a', at ty indexy jsou od nuly)
načti java.awt.GridLayout; načti java.awt.HeadlessException; načti java.awt.event.ActionEvent; načti java.awt.event.ActionListener; načti java.util.ArrayList; načti java.util.Collections; načti java.util.List; načti javax.swing.JButton; načti javax.swing.JFrame; načti javax.swing.JLabel; načti javax.swing.JTextField; /** * @author Ing. František Kučera (frantovo.cz) */ veřejná třída Caesar rozšiřuje JFrame { důvěrné JTextField prostýText = nové JTextField(); důvěrné JTextField šifrovanýText = nové JTextField(); důvěrné JButton šifruj = nové JButton("Šifruj"); důvěrné JButton dešifruj = nové JButton("Dešifruj"); důvěrné stálé konečné char[] ABECEDA_ZNAKY = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789".toCharArray(); důvěrné stálé konečné List<Character> ABECEDA; důvěrné stálé konečné int SKOK = 3; stálé { List<Character> abeceda = nové ArrayList<>(); pro (char z : ABECEDA_ZNAKY) { abeceda.add(z); } ABECEDA = Collections.unmodifiableList(abeceda); } veřejné stálé prázdné main(String[] args) { Caesar c = nové Caesar(); c.setVisible(true); } veřejné Caesar() háže HeadlessException { setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setTitle("Caesarova šifra"); setLocationRelativeTo(null); setLayout(nové GridLayout(3, 2)); add(nové JLabel("Prostý text")); add(prostýText); add(nové JLabel("Šifrovaný text")); add(šifrovanýText); add(šifruj); add(dešifruj); šifruj.addActionListener(nové ActionListener() { @Override veřejné prázdné actionPerformed(ActionEvent e) { šifrovanýText.setText(posuň(prostýText.getText(), SKOK)); } }); dešifruj.addActionListener(nové ActionListener() { @Override veřejné prázdné actionPerformed(ActionEvent e) { prostýText.setText(posuň(šifrovanýText.getText(), -SKOK)); } }); pack(); } důvěrné stálé String posuň(String text, int oKolik) { StringBuilder posunutý = nové StringBuilder(text.length()); pro (char z : text.toCharArray()) { posunutý.append(posuň(z, oKolik)); } vrať posunutý.toString(); } důvěrné stálé char posuň(char znak, int oKolik) { int původníPozice = ABECEDA.indexOf(znak); pokud (původníPozice < 0) { vrať znak; } jinak { int nováPozice = (původníPozice + oKolik) % ABECEDA_ZNAKY.length; nováPozice = nováPozice < 0 ? ABECEDA_ZNAKY.length + nováPozice : nováPozice; vrať ABECEDA.get(nováPozice); } } }
nový PolníSeznam<>()
nebo BezhlaváVýjimka
?)
Tiskni
Sdílej: