From a48f782128e92961f3e72e779d8f5a25ca46b58f Mon Sep 17 00:00:00 2001 From: Gabriel Brisolara Date: Mon, 16 Oct 2023 17:34:18 -0300 Subject: [PATCH] feat: first commit to password criptografer --- JAVA/java_password_criptografer/Main.class | Bin 0 -> 6643 bytes JAVA/java_password_criptografer/Main.ctxt | 26 + JAVA/java_password_criptografer/Main.java | 246 +++++ JAVA/java_password_criptografer/README.TXT | 12 + JAVA/java_password_criptografer/doc/Main.html | 202 ++++ .../doc/element-list | 1 + .../java_password_criptografer/doc/index.html | 26 + .../doc/legal/ADDITIONAL_LICENSE_INFO | 37 + .../doc/legal/ASSEMBLY_EXCEPTION | 27 + .../doc/legal/LICENSE | 347 +++++++ .../doc/logfile.txt | 31 + .../doc/package-summary.html | 47 + JAVA/java_password_criptografer/doc/script.js | 132 +++ .../doc/stylesheet.css | 865 ++++++++++++++++++ JAVA/java_password_criptografer/package.bluej | 32 + 15 files changed, 2031 insertions(+) create mode 100644 JAVA/java_password_criptografer/Main.class create mode 100644 JAVA/java_password_criptografer/Main.ctxt create mode 100644 JAVA/java_password_criptografer/Main.java create mode 100644 JAVA/java_password_criptografer/README.TXT create mode 100644 JAVA/java_password_criptografer/doc/Main.html create mode 100644 JAVA/java_password_criptografer/doc/element-list create mode 100644 JAVA/java_password_criptografer/doc/index.html create mode 100644 JAVA/java_password_criptografer/doc/legal/ADDITIONAL_LICENSE_INFO create mode 100644 JAVA/java_password_criptografer/doc/legal/ASSEMBLY_EXCEPTION create mode 100644 JAVA/java_password_criptografer/doc/legal/LICENSE create mode 100644 JAVA/java_password_criptografer/doc/logfile.txt create mode 100644 JAVA/java_password_criptografer/doc/package-summary.html create mode 100644 JAVA/java_password_criptografer/doc/script.js create mode 100644 JAVA/java_password_criptografer/doc/stylesheet.css create mode 100644 JAVA/java_password_criptografer/package.bluej diff --git a/JAVA/java_password_criptografer/Main.class b/JAVA/java_password_criptografer/Main.class new file mode 100644 index 0000000000000000000000000000000000000000..8327b89a4a29355b66220955e539ce739003c8da GIT binary patch literal 6643 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 YUcqa8%VGaw-Z5UE8p0cR3-2KGAAbqu?*IS* literal 0 HcmV?d00001 diff --git a/JAVA/java_password_criptografer/Main.ctxt b/JAVA/java_password_criptografer/Main.ctxt new file mode 100644 index 00000000..b1ad0e13 --- /dev/null +++ b/JAVA/java_password_criptografer/Main.ctxt @@ -0,0 +1,26 @@ +#BlueJ class context +comment0.target=Main +comment0.text=\n\ Escreva\ uma\ descri\u00E7\u00E3o\ da\ classe\ Main\ aqui.\n\ \n\ @author\ (seu\ nome)\ \n\ @version\ (um\ n\u00FAmero\ da\ vers\u00E3o\ ou\ uma\ data)\n +comment1.params=args +comment1.target=void\ main(java.lang.String[]) +comment10.params=fraseRev +comment10.target=java.lang.String\ criptografiaInversa(java.lang.String) +comment11.params=fraseRev +comment11.target=java.lang.String\ decriptografiaInversa(java.lang.String) +comment2.params= +comment2.target=int\ verifica_se_o_numero_e_inteiro() +comment3.params= +comment3.target=java.lang.String\ continua_pedindo_ate_nao_ter_acento() +comment4.params=texto +comment4.target=boolean\ temAcento(java.lang.String) +comment5.params=esc +comment5.target=boolean\ verifica_escolha(int) +comment6.params= +comment6.target=int\ pede_escolha() +comment7.params=palavra +comment7.target=java.lang.String\ criptografar(java.lang.String) +comment8.params=palavra +comment8.target=java.lang.String\ descriptografar(java.lang.String) +comment9.params=palavra +comment9.target=java.lang.String\ stringReverse(java.lang.String) +numComments=12 diff --git a/JAVA/java_password_criptografer/Main.java b/JAVA/java_password_criptografer/Main.java new file mode 100644 index 00000000..6d483ffe --- /dev/null +++ b/JAVA/java_password_criptografer/Main.java @@ -0,0 +1,246 @@ +import java.util.*; +import java.text.Normalizer; +import java.util.regex.Pattern; +/** + * Escreva uma descrição da classe Main aqui. + * + * @author (seu nome) + * @version (um número da versão ou uma data) + */ +public class Main +{ + public static void main (String[] args){ + Scanner teclado = new Scanner(System.in); + + String palavra = new String(); + + System.out.println("\f"); + System.out.println("Escolha entre [1] criptografar ou [2] descriptografar"); + int escolha = 99; + escolha = verifica_se_o_numero_e_inteiro(); + + + boolean escolha_invalida = verifica_escolha(escolha); + + while (escolha_invalida) { + System.out.println("Opcao escolhida invalida"); + System.out.println("Escolha entre [1] criptografar ou [2] descriptografar"); + escolha = verifica_se_o_numero_e_inteiro(); + escolha_invalida = verifica_escolha(escolha); + } + + if (escolha == 1) { + System.out.println("Digite uma palavra para CRIPTOGRAFAR:"); + + palavra = continua_pedindo_ate_nao_ter_acento(); + + System.out.println("A palavra criptografada ficou:"); + System.out.println(criptografar(palavra)); + } + + if (escolha == 2) { + System.out.println("Digite uma palavra para DESCRIPTOGRAFAR:"); + + palavra = continua_pedindo_ate_nao_ter_acento(); + + System.out.println("A palavra descriptografada e:"); + System.out.println(descriptografar(palavra)); + } + + + } + + public static int verifica_se_o_numero_e_inteiro() { + Scanner teclado99 = new Scanner(System.in); + int escolha_escopo = 99; + try { + escolha_escopo = teclado99.nextInt(); + } catch (java.util.InputMismatchException e) { + while (!(teclado99.hasNextInt())) { + System.out.println("Erro: digite um numero inteiro"); + System.out.println("Escolha entre [1] criptografar ou [2] descriptografar"); + teclado99.nextLine(); + + } + escolha_escopo = teclado99.nextInt(); + } finally { + return escolha_escopo; + } + } + + public static String continua_pedindo_ate_nao_ter_acento() { + Scanner teclado4 = new Scanner (System.in); + String palavra_enviada = teclado4.nextLine(); + while (temAcento(palavra_enviada)) { + System.out.println("Digite uma frase que nao contenha acentos:"); + palavra_enviada = teclado4.nextLine(); + } + + return palavra_enviada; + } + + public static boolean temAcento(String texto) { + String textoSemAcentos = Normalizer.normalize(texto, Normalizer.Form.NFD); + Pattern padrao = Pattern.compile("\\p{InCombiningDiacriticalMarks}+"); + String frase_sem_acento = padrao.matcher(textoSemAcentos).replaceAll(""); + boolean temAcento = !texto.equals(frase_sem_acento); + return temAcento; + } + + public static boolean verifica_escolha (int esc) { + if ((esc == 1) || (esc == 2)) { + return false; + } + return true; + } + + public static int pede_escolha() { + Scanner teclado3 = new Scanner (System.in); + int escolha = teclado3.nextInt(); + return escolha; + } + + public static String criptografar(String palavra) { + palavra = palavra.toLowerCase(); + String palavra_invertida = stringReverse(palavra); + String palavra_criptografada = criptografiaInversa(palavra_invertida); + + return palavra_criptografada; + + } + + public static String descriptografar(String palavra) { + palavra = palavra.toLowerCase(); + String palavra_descriptografada = decriptografiaInversa(palavra); + String palavra_desinvertida = stringReverse(palavra_descriptografada); + + return palavra_desinvertida; + } + + public static String stringReverse(String palavra) { + char[] letras = palavra.toCharArray(); + int i = letras.length - 1, j = 0; + char[] let = new char[letras.length]; + + while(i >= 0){ + let[j] = letras[i]; + i--; + j++; + } + + String fraseRev = new String(); + + for (char c : let){ + fraseRev = fraseRev + c; + } + + return fraseRev; + } + + public static String criptografiaInversa(String fraseRev) { + char[] letrasRev = fraseRev.toCharArray(); + char[] letCrip = new char[letrasRev.length]; + + for(int i = 0; i <= letrasRev.length-1; i++){ + if(Character.isSpaceChar(letrasRev[i]) == true){ + letCrip[i] = ' '; + }else{ + switch(letrasRev[i]){ + case 'a': letCrip[i] = '!'; break; + case 'e': letCrip[i] = '@';break; + case 'i': letCrip[i] = '#'; break; + case 'o': letCrip[i] = '$'; break; + case 'u': letCrip[i] = '%'; break; + + case 'b': letCrip[i] = 'e'; break; + case 'c': letCrip[i] = 'f'; break; + case 'd': letCrip[i] = 'g'; break; + case 'f': letCrip[i] = 'i'; break; + case 'g': letCrip[i] = 'j'; break; + case 'h': letCrip[i] = 'k'; break; + case 'j': letCrip[i] = 'm'; break; + case 'k': letCrip[i] = 'n'; break; + case 'l': letCrip[i] = 'o'; break; + case 'm': letCrip[i] = 'p'; break; + case 'n': letCrip[i] = 'q'; break; + case 'p': letCrip[i] = 's'; break; + case 'q': letCrip[i] = 't'; break; + case 'r': letCrip[i] = 'u'; break; + case 's': letCrip[i] = 'v'; break; + case 't': letCrip[i] = 'w'; break; + case 'v': letCrip[i] = 'y'; break; + case 'w': letCrip[i] = 'z'; break; + case 'x': letCrip[i] = 'a'; break; + case 'y': letCrip[i] = 'b'; break; + case 'z': letCrip[i] = 'c'; break; + + case ',': letCrip[i] = ';'; break; + + + } + } + } + + String fraseCrip = new String(); + + for(char c : letCrip){ + fraseCrip = fraseCrip + c; + } + return fraseCrip; + } + + + public static String decriptografiaInversa(String fraseRev) { + char[] letrasRev = fraseRev.toCharArray(); + char[] letCrip = new char[letrasRev.length]; + + for(int i = 0; i <= letrasRev.length-1; i++){ + if(Character.isSpaceChar(letrasRev[i]) == true){ + letCrip[i] = ' '; + }else{ + switch(letrasRev[i]){ + case '!': letCrip[i] = 'a'; break; + case '@': letCrip[i] = 'e';break; + case '#': letCrip[i] = 'i'; break; + case '$': letCrip[i] = 'o'; break; + case '%': letCrip[i] = 'u'; break; + + case 'e': letCrip[i] = 'b'; break; + case 'f': letCrip[i] = 'c'; break; + case 'g': letCrip[i] = 'd'; break; + case 'i': letCrip[i] = 'f'; break; + case 'j': letCrip[i] = 'g'; break; + case 'k': letCrip[i] = 'h'; break; + case 'm': letCrip[i] = 'j'; break; + case 'n': letCrip[i] = 'k'; break; + case 'o': letCrip[i] = 'l'; break; + case 'p': letCrip[i] = 'm'; break; + case 'q': letCrip[i] = 'n'; break; + case 's': letCrip[i] = 'p'; break; + case 't': letCrip[i] = 'q'; break; + case 'u': letCrip[i] = 'r'; break; + case 'v': letCrip[i] = 's'; break; + case 'w': letCrip[i] = 't'; break; + case 'y': letCrip[i] = 'v'; break; + case 'z': letCrip[i] = 'w'; break; + case 'a': letCrip[i] = 'x'; break; + case 'b': letCrip[i] = 'y'; break; + case 'c': letCrip[i] = 'z'; break; + + case ';': letCrip[i] = ','; break; + + + } + } + } + + String fraseCrip = new String(); + + for(char c : letCrip){ + fraseCrip = fraseCrip + c; + } + return fraseCrip; + } + + +} diff --git a/JAVA/java_password_criptografer/README.TXT b/JAVA/java_password_criptografer/README.TXT new file mode 100644 index 00000000..d9e809ae --- /dev/null +++ b/JAVA/java_password_criptografer/README.TXT @@ -0,0 +1,12 @@ +---------------------------------------------------------------------------- +Este é o arquivo README do projeto. Você deve descrever aqui o seu projeto. +Informe ao usuário (alguém que não sabe nada sobre este projeto!) tudo que +ele/ela precisa saber. Os comentários devem incluir, pelo menos: +------------------------------------------------------------------------ + +TÍTULO DO PROJETO: +OBJETIVO DO PROJETO: +VERSÃO ou DATA: +COMO INICIAR O PROJETO: +AUTORES: +INSTRUÇÕES PARA O USUÁRIO: diff --git a/JAVA/java_password_criptografer/doc/Main.html b/JAVA/java_password_criptografer/doc/Main.html new file mode 100644 index 00000000..f9332b33 --- /dev/null +++ b/JAVA/java_password_criptografer/doc/Main.html @@ -0,0 +1,202 @@ + + + + +Main + + + + + + + + + + + +
+
+
+ +
+

Class Main

+
+ +
+
+
public class Main +extends Object
+
Escreva uma descrição da classe Main aqui.
+
+
Version:
+
(um número da versão ou uma data)
+
Author:
+
(seu nome)
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Main

      +
      public Main()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      main

      +
      public static void main(String[] args)
      +
      +
    • +
    • +
      +

      continua_pedindo_ate_nao_ter_acento

      +
      public static String continua_pedindo_ate_nao_ter_acento()
      +
      +
    • +
    • +
      +

      temAcento

      +
      public static boolean temAcento(String texto)
      +
      +
    • +
    • +
      +

      verifica_escolha

      +
      public static boolean verifica_escolha(int esc)
      +
      +
    • +
    • +
      +

      pede_escolha

      +
      public static int pede_escolha()
      +
      +
    • +
    • +
      +

      criptografar

      +
      public static String criptografar(String palavra)
      +
      +
    • +
    • +
      +

      descriptografar

      +
      public static String descriptografar(String palavra)
      +
      +
    • +
    • +
      +

      stringReverse

      +
      public static String stringReverse(String palavra)
      +
      +
    • +
    • +
      +

      criptografiaInversa

      +
      public static String criptografiaInversa(String fraseRev)
      +
      +
    • +
    • +
      +

      decriptografiaInversa

      +
      public static String decriptografiaInversa(String fraseRev)
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/JAVA/java_password_criptografer/doc/element-list b/JAVA/java_password_criptografer/doc/element-list new file mode 100644 index 00000000..147af067 --- /dev/null +++ b/JAVA/java_password_criptografer/doc/element-list @@ -0,0 +1 @@ +unnamed package diff --git a/JAVA/java_password_criptografer/doc/index.html b/JAVA/java_password_criptografer/doc/index.html new file mode 100644 index 00000000..4d18d479 --- /dev/null +++ b/JAVA/java_password_criptografer/doc/index.html @@ -0,0 +1,26 @@ + + + + +Generated Documentation (Untitled) + + + + + + + + + + + +
+ +

Main.html

+
+ + diff --git a/JAVA/java_password_criptografer/doc/legal/ADDITIONAL_LICENSE_INFO b/JAVA/java_password_criptografer/doc/legal/ADDITIONAL_LICENSE_INFO new file mode 100644 index 00000000..ff700cd0 --- /dev/null +++ b/JAVA/java_password_criptografer/doc/legal/ADDITIONAL_LICENSE_INFO @@ -0,0 +1,37 @@ + ADDITIONAL INFORMATION ABOUT LICENSING + +Certain files distributed by Oracle America, Inc. and/or its affiliates are +subject to the following clarification and special exception to the GPLv2, +based on the GNU Project exception for its Classpath libraries, known as the +GNU Classpath Exception. + +Note that Oracle includes multiple, independent programs in this software +package. Some of those programs are provided under licenses deemed +incompatible with the GPLv2 by the Free Software Foundation and others. +For example, the package includes programs licensed under the Apache +License, Version 2.0 and may include FreeType. Such programs are licensed +to you under their original licenses. + +Oracle facilitates your further distribution of this package by adding the +Classpath Exception to the necessary parts of its GPLv2 code, which permits +you to use that code in combination with other independent modules not +licensed under the GPLv2. However, note that this would not permit you to +commingle code under an incompatible license with Oracle's GPLv2 licensed +code by, for example, cutting and pasting such code into a file also +containing Oracle's GPLv2 licensed code and then distributing the result. + +Additionally, if you were to remove the Classpath Exception from any of the +files to which it applies and distribute the result, you would likely be +required to license some or all of the other code in that distribution under +the GPLv2 as well, and since the GPLv2 is incompatible with the license terms +of some items included in the distribution by Oracle, removing the Classpath +Exception could therefore effectively compromise your ability to further +distribute the package. + +Failing to distribute notices associated with some files may also create +unexpected legal consequences. + +Proceed with caution and we recommend that you obtain the advice of a lawyer +skilled in open source matters before removing the Classpath Exception or +making modifications to this package which may subsequently be redistributed +and/or involve the use of third party software. diff --git a/JAVA/java_password_criptografer/doc/legal/ASSEMBLY_EXCEPTION b/JAVA/java_password_criptografer/doc/legal/ASSEMBLY_EXCEPTION new file mode 100644 index 00000000..065b8d90 --- /dev/null +++ b/JAVA/java_password_criptografer/doc/legal/ASSEMBLY_EXCEPTION @@ -0,0 +1,27 @@ + +OPENJDK ASSEMBLY EXCEPTION + +The OpenJDK source code made available by Oracle America, Inc. (Oracle) at +openjdk.java.net ("OpenJDK Code") is distributed under the terms of the GNU +General Public License version 2 +only ("GPL2"), with the following clarification and special exception. + + Linking this OpenJDK Code statically or dynamically with other code + is making a combined work based on this library. Thus, the terms + and conditions of GPL2 cover the whole combination. + + As a special exception, Oracle gives you permission to link this + OpenJDK Code with certain code licensed by Oracle as indicated at + http://openjdk.java.net/legal/exception-modules-2007-05-08.html + ("Designated Exception Modules") to produce an executable, + regardless of the license terms of the Designated Exception Modules, + and to copy and distribute the resulting executable under GPL2, + provided that the Designated Exception Modules continue to be + governed by the licenses under which they were offered by Oracle. + +As such, it allows licensees and sublicensees of Oracle's GPL2 OpenJDK Code +to build an executable that includes those portions of necessary code that +Oracle could not provide under GPL2 (or that Oracle has provided under GPL2 +with the Classpath exception). If you modify or add to the OpenJDK code, +that new GPL2 code may still be combined with Designated Exception Modules +if the new code is made subject to this exception by its copyright holder. diff --git a/JAVA/java_password_criptografer/doc/legal/LICENSE b/JAVA/java_password_criptografer/doc/legal/LICENSE new file mode 100644 index 00000000..8b400c7a --- /dev/null +++ b/JAVA/java_password_criptografer/doc/legal/LICENSE @@ -0,0 +1,347 @@ +The GNU General Public License (GPL) + +Version 2, June 1991 + +Copyright (C) 1989, 1991 Free Software Foundation, Inc. +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +Everyone is permitted to copy and distribute verbatim copies of this license +document, but changing it is not allowed. + +Preamble + +The licenses for most software are designed to take away your freedom to share +and change it. By contrast, the GNU General Public License is intended to +guarantee your freedom to share and change free software--to make sure the +software is free for all its users. This General Public License applies to +most of the Free Software Foundation's software and to any other program whose +authors commit to using it. (Some other Free Software Foundation software is +covered by the GNU Library General Public License instead.) You can apply it to +your programs, too. + +When we speak of free software, we are referring to freedom, not price. Our +General Public Licenses are designed to make sure that you have the freedom to +distribute copies of free software (and charge for this service if you wish), +that you receive source code or can get it if you want it, that you can change +the software or use pieces of it in new free programs; and that you know you +can do these things. + +To protect your rights, we need to make restrictions that forbid anyone to deny +you these rights or to ask you to surrender the rights. These restrictions +translate to certain responsibilities for you if you distribute copies of the +software, or if you modify it. + +For example, if you distribute copies of such a program, whether gratis or for +a fee, you must give the recipients all the rights that you have. You must +make sure that they, too, receive or can get the source code. And you must +show them these terms so they know their rights. + +We protect your rights with two steps: (1) copyright the software, and (2) +offer you this license which gives you legal permission to copy, distribute +and/or modify the software. + +Also, for each author's protection and ours, we want to make certain that +everyone understands that there is no warranty for this free software. If the +software is modified by someone else and passed on, we want its recipients to +know that what they have is not the original, so that any problems introduced +by others will not reflect on the original authors' reputations. + +Finally, any free program is threatened constantly by software patents. We +wish to avoid the danger that redistributors of a free program will +individually obtain patent licenses, in effect making the program proprietary. +To prevent this, we have made it clear that any patent must be licensed for +everyone's free use or not licensed at all. + +The precise terms and conditions for copying, distribution and modification +follow. + +TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + +0. This License applies to any program or other work which contains a notice +placed by the copyright holder saying it may be distributed under the terms of +this General Public License. The "Program", below, refers to any such program +or work, and a "work based on the Program" means either the Program or any +derivative work under copyright law: that is to say, a work containing the +Program or a portion of it, either verbatim or with modifications and/or +translated into another language. (Hereinafter, translation is included +without limitation in the term "modification".) Each licensee is addressed as +"you". + +Activities other than copying, distribution and modification are not covered by +this License; they are outside its scope. The act of running the Program is +not restricted, and the output from the Program is covered only if its contents +constitute a work based on the Program (independent of having been made by +running the Program). Whether that is true depends on what the Program does. + +1. You may copy and distribute verbatim copies of the Program's source code as +you receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice and +disclaimer of warranty; keep intact all the notices that refer to this License +and to the absence of any warranty; and give any other recipients of the +Program a copy of this License along with the Program. + +You may charge a fee for the physical act of transferring a copy, and you may +at your option offer warranty protection in exchange for a fee. + +2. You may modify your copy or copies of the Program or any portion of it, thus +forming a work based on the Program, and copy and distribute such modifications +or work under the terms of Section 1 above, provided that you also meet all of +these conditions: + + a) You must cause the modified files to carry prominent notices stating + that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in whole or + in part contains or is derived from the Program or any part thereof, to be + licensed as a whole at no charge to all third parties under the terms of + this License. + + c) If the modified program normally reads commands interactively when run, + you must cause it, when started running for such interactive use in the + most ordinary way, to print or display an announcement including an + appropriate copyright notice and a notice that there is no warranty (or + else, saying that you provide a warranty) and that users may redistribute + the program under these conditions, and telling the user how to view a copy + of this License. (Exception: if the Program itself is interactive but does + not normally print such an announcement, your work based on the Program is + not required to print an announcement.) + +These requirements apply to the modified work as a whole. If identifiable +sections of that work are not derived from the Program, and can be reasonably +considered independent and separate works in themselves, then this License, and +its terms, do not apply to those sections when you distribute them as separate +works. But when you distribute the same sections as part of a whole which is a +work based on the Program, the distribution of the whole must be on the terms +of this License, whose permissions for other licensees extend to the entire +whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest your +rights to work written entirely by you; rather, the intent is to exercise the +right to control the distribution of derivative or collective works based on +the Program. + +In addition, mere aggregation of another work not based on the Program with the +Program (or with a work based on the Program) on a volume of a storage or +distribution medium does not bring the other work under the scope of this +License. + +3. You may copy and distribute the Program (or a work based on it, under +Section 2) in object code or executable form under the terms of Sections 1 and +2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable source + code, which must be distributed under the terms of Sections 1 and 2 above + on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three years, to + give any third party, for a charge no more than your cost of physically + performing source distribution, a complete machine-readable copy of the + corresponding source code, to be distributed under the terms of Sections 1 + and 2 above on a medium customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer to + distribute corresponding source code. (This alternative is allowed only + for noncommercial distribution and only if you received the program in + object code or executable form with such an offer, in accord with + Subsection b above.) + +The source code for a work means the preferred form of the work for making +modifications to it. For an executable work, complete source code means all +the source code for all modules it contains, plus any associated interface +definition files, plus the scripts used to control compilation and installation +of the executable. However, as a special exception, the source code +distributed need not include anything that is normally distributed (in either +source or binary form) with the major components (compiler, kernel, and so on) +of the operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the source +code from the same place counts as distribution of the source code, even though +third parties are not compelled to copy the source along with the object code. + +4. You may not copy, modify, sublicense, or distribute the Program except as +expressly provided under this License. Any attempt otherwise to copy, modify, +sublicense or distribute the Program is void, and will automatically terminate +your rights under this License. However, parties who have received copies, or +rights, from you under this License will not have their licenses terminated so +long as such parties remain in full compliance. + +5. You are not required to accept this License, since you have not signed it. +However, nothing else grants you permission to modify or distribute the Program +or its derivative works. These actions are prohibited by law if you do not +accept this License. Therefore, by modifying or distributing the Program (or +any work based on the Program), you indicate your acceptance of this License to +do so, and all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + +6. Each time you redistribute the Program (or any work based on the Program), +the recipient automatically receives a license from the original licensor to +copy, distribute or modify the Program subject to these terms and conditions. +You may not impose any further restrictions on the recipients' exercise of the +rights granted herein. You are not responsible for enforcing compliance by +third parties to this License. + +7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), conditions +are imposed on you (whether by court order, agreement or otherwise) that +contradict the conditions of this License, they do not excuse you from the +conditions of this License. If you cannot distribute so as to satisfy +simultaneously your obligations under this License and any other pertinent +obligations, then as a consequence you may not distribute the Program at all. +For example, if a patent license would not permit royalty-free redistribution +of the Program by all those who receive copies directly or indirectly through +you, then the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply and +the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any patents or +other property right claims or to contest validity of any such claims; this +section has the sole purpose of protecting the integrity of the free software +distribution system, which is implemented by public license practices. Many +people have made generous contributions to the wide range of software +distributed through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing to +distribute software through any other system and a licensee cannot impose that +choice. + +This section is intended to make thoroughly clear what is believed to be a +consequence of the rest of this License. + +8. If the distribution and/or use of the Program is restricted in certain +countries either by patents or by copyrighted interfaces, the original +copyright holder who places the Program under this License may add an explicit +geographical distribution limitation excluding those countries, so that +distribution is permitted only in or among countries not thus excluded. In +such case, this License incorporates the limitation as if written in the body +of this License. + +9. The Free Software Foundation may publish revised and/or new versions of the +General Public License from time to time. Such new versions will be similar in +spirit to the present version, but may differ in detail to address new problems +or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any later +version", you have the option of following the terms and conditions either of +that version or of any later version published by the Free Software Foundation. +If the Program does not specify a version number of this License, you may +choose any version ever published by the Free Software Foundation. + +10. If you wish to incorporate parts of the Program into other free programs +whose distribution conditions are different, write to the author to ask for +permission. For software which is copyrighted by the Free Software Foundation, +write to the Free Software Foundation; we sometimes make exceptions for this. +Our decision will be guided by the two goals of preserving the free status of +all derivatives of our free software and of promoting the sharing and reuse of +software generally. + +NO WARRANTY + +11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR +THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE +STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE +PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, +INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND +PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, +YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + +12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL +ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE +PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR +INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA +BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER +OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +END OF TERMS AND CONDITIONS + +How to Apply These Terms to Your New Programs + +If you develop a new program, and you want it to be of the greatest possible +use to the public, the best way to achieve this is to make it free software +which everyone can redistribute and change under these terms. + +To do so, attach the following notices to the program. It is safest to attach +them to the start of each source file to most effectively convey the exclusion +of warranty; and each file should have at least the "copyright" line and a +pointer to where the full notice is found. + + One line to give the program's name and a brief idea of what it does. + + Copyright (C) + + This program is free software; you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by the Free + Software Foundation; either version 2 of the License, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this when it +starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author Gnomovision comes + with ABSOLUTELY NO WARRANTY; for details type 'show w'. This is free + software, and you are welcome to redistribute it under certain conditions; + type 'show c' for details. + +The hypothetical commands 'show w' and 'show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may be +called something other than 'show w' and 'show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your school, +if any, to sign a "copyright disclaimer" for the program, if necessary. Here +is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + 'Gnomovision' (which makes passes at compilers) written by James Hacker. + + signature of Ty Coon, 1 April 1989 + + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General Public +License instead of this License. + + +"CLASSPATH" EXCEPTION TO THE GPL + +Certain source files distributed by Oracle America and/or its affiliates are +subject to the following clarification and special exception to the GPL, but +only where Oracle has expressly included in the particular source file's header +the words "Oracle designates this particular file as subject to the "Classpath" +exception as provided by Oracle in the LICENSE file that accompanied this code." + + Linking this library statically or dynamically with other modules is making + a combined work based on this library. Thus, the terms and conditions of + the GNU General Public License cover the whole combination. + + As a special exception, the copyright holders of this library give you + permission to link this library with independent modules to produce an + executable, regardless of the license terms of these independent modules, + and to copy and distribute the resulting executable under terms of your + choice, provided that you also meet, for each linked independent module, + the terms and conditions of the license of that module. An independent + module is a module which is not derived from or based on this library. If + you modify this library, you may extend this exception to your version of + the library, but you are not obligated to do so. If you do not wish to do + so, delete this exception statement from your version. diff --git a/JAVA/java_password_criptografer/doc/logfile.txt b/JAVA/java_password_criptografer/doc/logfile.txt new file mode 100644 index 00000000..796eaeeb --- /dev/null +++ b/JAVA/java_password_criptografer/doc/logfile.txt @@ -0,0 +1,31 @@ +Class documentation +<---- javadoc command: ----> +/snap/bluej/314/usr/share/bluej/jdk/bin/javadoc +-author +-version +-nodeprecated +-package +-Xdoclint:none +-noindex +-notree +-nohelp +-nonavbar +-source +17 +-classpath +/snap/bluej/314/usr/share/bluej/bluejcore.jar:/snap/bluej/314/usr/share/bluej/javafx-base-20.0.1-linux.jar:/snap/bluej/314/usr/share/bluej/javafx-base-20.0.1.jar:/snap/bluej/314/usr/share/bluej/javafx-controls-20.0.1-linux.jar:/snap/bluej/314/usr/share/bluej/javafx-controls-20.0.1.jar:/snap/bluej/314/usr/share/bluej/javafx-fxml-20.0.1-linux.jar:/snap/bluej/314/usr/share/bluej/javafx-graphics-20.0.1-linux.jar:/snap/bluej/314/usr/share/bluej/javafx-graphics-20.0.1.jar:/snap/bluej/314/usr/share/bluej/javafx-media-20.0.1-linux.jar:/snap/bluej/314/usr/share/bluej/javafx-media-20.0.1.jar:/snap/bluej/314/usr/share/bluej/javafx-swing-20.0.1-linux.jar:/snap/bluej/314/usr/share/bluej/javafx-web-20.0.1-linux.jar:/snap/bluej/314/usr/share/bluej/junit-4.12.jar:/snap/bluej/314/usr/share/bluej/junit-jupiter-5.5.2.jar:/snap/bluej/314/usr/share/bluej/junit-jupiter-api-5.5.2.jar:/snap/bluej/314/usr/share/bluej/junit-jupiter-engine-5.5.2.jar:/snap/bluej/314/usr/share/bluej/junit-jupiter-params-5.5.2.jar:/snap/bluej/314/usr/share/bluej/junit-platform-commons-1.5.2.jar:/snap/bluej/314/usr/share/bluej/junit-platform-engine-1.5.2.jar:/snap/bluej/314/usr/share/bluej/junit-platform-launcher-1.5.2.jar:/snap/bluej/314/usr/share/bluej/junit-platform-suite-api-1.5.2.jar:/snap/bluej/314/usr/share/bluej/junit-vintage-engine-5.5.2.jar:/snap/bluej/314/usr/share/bluej/hamcrest-core-1.3.jar:/snap/bluej/314/usr/share/bluej/opentest4j-1.2.0.jar:/snap/bluej/314/usr/share/bluej/lang-stride.jar:/home/brisolara/Documents/Faculdade/2023.2/fprog/trabalho-criptografia +-d +/home/brisolara/Documents/Faculdade/2023.2/fprog/trabalho-criptografia/doc +-encoding +UTF-8 +-charset +UTF-8 +/home/brisolara/Documents/Faculdade/2023.2/fprog/trabalho-criptografia/Main.java +<---- end of javadoc command ----> +Loading source file /home/brisolara/Documents/Faculdade/2023.2/fprog/trabalho-criptografia/Main.java... +Constructing Javadoc information... +Standard Doclet version 17.0.4.1+1 +Building tree for all the packages and classes... +Generating /home/brisolara/Documents/Faculdade/2023.2/fprog/trabalho-criptografia/doc/Main.html... +Generating /home/brisolara/Documents/Faculdade/2023.2/fprog/trabalho-criptografia/doc/package-summary.html... +Generating /home/brisolara/Documents/Faculdade/2023.2/fprog/trabalho-criptografia/doc/index.html... diff --git a/JAVA/java_password_criptografer/doc/package-summary.html b/JAVA/java_password_criptografer/doc/package-summary.html new file mode 100644 index 00000000..ab7ce59f --- /dev/null +++ b/JAVA/java_password_criptografer/doc/package-summary.html @@ -0,0 +1,47 @@ + + + + +Unnamed Package + + + + + + + + + + + +
+
+
+
+

Unnamed Package

+
+
+
+
    +
  • +
    +
    Classes
    +
    +
    Class
    +
    Description
    + +
    +
    Escreva uma descrição da classe Main aqui.
    +
    +
    +
    +
  • +
+
+
+
+
+ + diff --git a/JAVA/java_password_criptografer/doc/script.js b/JAVA/java_password_criptografer/doc/script.js new file mode 100644 index 00000000..864989cf --- /dev/null +++ b/JAVA/java_password_criptografer/doc/script.js @@ -0,0 +1,132 @@ +/* + * Copyright (c) 2013, 2020, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +var moduleSearchIndex; +var packageSearchIndex; +var typeSearchIndex; +var memberSearchIndex; +var tagSearchIndex; +function loadScripts(doc, tag) { + createElem(doc, tag, 'search.js'); + + createElem(doc, tag, 'module-search-index.js'); + createElem(doc, tag, 'package-search-index.js'); + createElem(doc, tag, 'type-search-index.js'); + createElem(doc, tag, 'member-search-index.js'); + createElem(doc, tag, 'tag-search-index.js'); +} + +function createElem(doc, tag, path) { + var script = doc.createElement(tag); + var scriptElement = doc.getElementsByTagName(tag)[0]; + script.src = pathtoroot + path; + scriptElement.parentNode.insertBefore(script, scriptElement); +} + +function show(tableId, selected, columns) { + if (tableId !== selected) { + document.querySelectorAll('div.' + tableId + ':not(.' + selected + ')') + .forEach(function(elem) { + elem.style.display = 'none'; + }); + } + document.querySelectorAll('div.' + selected) + .forEach(function(elem, index) { + elem.style.display = ''; + var isEvenRow = index % (columns * 2) < columns; + elem.classList.remove(isEvenRow ? oddRowColor : evenRowColor); + elem.classList.add(isEvenRow ? evenRowColor : oddRowColor); + }); + updateTabs(tableId, selected); +} + +function updateTabs(tableId, selected) { + document.querySelector('div#' + tableId +' .summary-table') + .setAttribute('aria-labelledby', selected); + document.querySelectorAll('button[id^="' + tableId + '"]') + .forEach(function(tab, index) { + if (selected === tab.id || (tableId === selected && index === 0)) { + tab.className = activeTableTab; + tab.setAttribute('aria-selected', true); + tab.setAttribute('tabindex',0); + } else { + tab.className = tableTab; + tab.setAttribute('aria-selected', false); + tab.setAttribute('tabindex',-1); + } + }); +} + +function switchTab(e) { + var selected = document.querySelector('[aria-selected=true]'); + if (selected) { + if ((e.keyCode === 37 || e.keyCode === 38) && selected.previousSibling) { + // left or up arrow key pressed: move focus to previous tab + selected.previousSibling.click(); + selected.previousSibling.focus(); + e.preventDefault(); + } else if ((e.keyCode === 39 || e.keyCode === 40) && selected.nextSibling) { + // right or down arrow key pressed: move focus to next tab + selected.nextSibling.click(); + selected.nextSibling.focus(); + e.preventDefault(); + } + } +} + +var updateSearchResults = function() {}; + +function indexFilesLoaded() { + return moduleSearchIndex + && packageSearchIndex + && typeSearchIndex + && memberSearchIndex + && tagSearchIndex; +} + +// Workaround for scroll position not being included in browser history (8249133) +document.addEventListener("DOMContentLoaded", function(e) { + var contentDiv = document.querySelector("div.flex-content"); + window.addEventListener("popstate", function(e) { + if (e.state !== null) { + contentDiv.scrollTop = e.state; + } + }); + window.addEventListener("hashchange", function(e) { + history.replaceState(contentDiv.scrollTop, document.title); + }); + contentDiv.addEventListener("scroll", function(e) { + var timeoutID; + if (!timeoutID) { + timeoutID = setTimeout(function() { + history.replaceState(contentDiv.scrollTop, document.title); + timeoutID = null; + }, 100); + } + }); + if (!location.hash) { + history.replaceState(contentDiv.scrollTop, document.title); + } +}); diff --git a/JAVA/java_password_criptografer/doc/stylesheet.css b/JAVA/java_password_criptografer/doc/stylesheet.css new file mode 100644 index 00000000..836c62da --- /dev/null +++ b/JAVA/java_password_criptografer/doc/stylesheet.css @@ -0,0 +1,865 @@ +/* + * Javadoc style sheet + */ + +@import url('resources/fonts/dejavu.css'); + +/* + * Styles for individual HTML elements. + * + * These are styles that are specific to individual HTML elements. Changing them affects the style of a particular + * HTML element throughout the page. + */ + +body { + background-color:#ffffff; + color:#353833; + font-family:'DejaVu Sans', Arial, Helvetica, sans-serif; + font-size:14px; + margin:0; + padding:0; + height:100%; + width:100%; +} +iframe { + margin:0; + padding:0; + height:100%; + width:100%; + overflow-y:scroll; + border:none; +} +a:link, a:visited { + text-decoration:none; + color:#4A6782; +} +a[href]:hover, a[href]:focus { + text-decoration:none; + color:#bb7a2a; +} +a[name] { + color:#353833; +} +pre { + font-family:'DejaVu Sans Mono', monospace; + font-size:14px; +} +h1 { + font-size:20px; +} +h2 { + font-size:18px; +} +h3 { + font-size:16px; +} +h4 { + font-size:15px; +} +h5 { + font-size:14px; +} +h6 { + font-size:13px; +} +ul { + list-style-type:disc; +} +code, tt { + font-family:'DejaVu Sans Mono', monospace; +} +:not(h1, h2, h3, h4, h5, h6) > code, +:not(h1, h2, h3, h4, h5, h6) > tt { + font-size:14px; + padding-top:4px; + margin-top:8px; + line-height:1.4em; +} +dt code { + font-family:'DejaVu Sans Mono', monospace; + font-size:14px; + padding-top:4px; +} +.summary-table dt code { + font-family:'DejaVu Sans Mono', monospace; + font-size:14px; + vertical-align:top; + padding-top:4px; +} +sup { + font-size:8px; +} +button { + font-family: 'DejaVu Sans', Arial, Helvetica, sans-serif; + font-size: 14px; +} +/* + * Styles for HTML generated by javadoc. + * + * These are style classes that are used by the standard doclet to generate HTML documentation. + */ + +/* + * Styles for document title and copyright. + */ +.clear { + clear:both; + height:0; + overflow:hidden; +} +.about-language { + float:right; + padding:0 21px 8px 8px; + font-size:11px; + margin-top:-9px; + height:2.9em; +} +.legal-copy { + margin-left:.5em; +} +.tab { + background-color:#0066FF; + color:#ffffff; + padding:8px; + width:5em; + font-weight:bold; +} +/* + * Styles for navigation bar. + */ +@media screen { + .flex-box { + position:fixed; + display:flex; + flex-direction:column; + height: 100%; + width: 100%; + } + .flex-header { + flex: 0 0 auto; + } + .flex-content { + flex: 1 1 auto; + overflow-y: auto; + } +} +.top-nav { + background-color:#4D7A97; + color:#FFFFFF; + float:left; + padding:0; + width:100%; + clear:right; + min-height:2.8em; + padding-top:10px; + overflow:hidden; + font-size:12px; +} +.sub-nav { + background-color:#dee3e9; + float:left; + width:100%; + overflow:hidden; + font-size:12px; +} +.sub-nav div { + clear:left; + float:left; + padding:0 0 5px 6px; + text-transform:uppercase; +} +.sub-nav .nav-list { + padding-top:5px; +} +ul.nav-list { + display:block; + margin:0 25px 0 0; + padding:0; +} +ul.sub-nav-list { + float:left; + margin:0 25px 0 0; + padding:0; +} +ul.nav-list li { + list-style:none; + float:left; + padding: 5px 6px; + text-transform:uppercase; +} +.sub-nav .nav-list-search { + float:right; + margin:0 0 0 0; + padding:5px 6px; + clear:none; +} +.nav-list-search label { + position:relative; + right:-16px; +} +ul.sub-nav-list li { + list-style:none; + float:left; + padding-top:10px; +} +.top-nav a:link, .top-nav a:active, .top-nav a:visited { + color:#FFFFFF; + text-decoration:none; + text-transform:uppercase; +} +.top-nav a:hover { + text-decoration:none; + color:#bb7a2a; + text-transform:uppercase; +} +.nav-bar-cell1-rev { + background-color:#F8981D; + color:#253441; + margin: auto 5px; +} +.skip-nav { + position:absolute; + top:auto; + left:-9999px; + overflow:hidden; +} +/* + * Hide navigation links and search box in print layout + */ +@media print { + ul.nav-list, div.sub-nav { + display:none; + } +} +/* + * Styles for page header and footer. + */ +.title { + color:#2c4557; + margin:10px 0; +} +.sub-title { + margin:5px 0 0 0; +} +.header ul { + margin:0 0 15px 0; + padding:0; +} +.header ul li, .footer ul li { + list-style:none; + font-size:13px; +} +/* + * Styles for headings. + */ +body.class-declaration-page .summary h2, +body.class-declaration-page .details h2, +body.class-use-page h2, +body.module-declaration-page .block-list h2 { + font-style: italic; + padding:0; + margin:15px 0; +} +body.class-declaration-page .summary h3, +body.class-declaration-page .details h3, +body.class-declaration-page .summary .inherited-list h2 { + background-color:#dee3e9; + border:1px solid #d0d9e0; + margin:0 0 6px -8px; + padding:7px 5px; +} +/* + * Styles for page layout containers. + */ +main { + clear:both; + padding:10px 20px; + position:relative; +} +dl.notes > dt { + font-family: 'DejaVu Sans', Arial, Helvetica, sans-serif; + font-size:12px; + font-weight:bold; + margin:10px 0 0 0; + color:#4E4E4E; +} +dl.notes > dd { + margin:5px 10px 10px 0; + font-size:14px; + font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif; +} +dl.name-value > dt { + margin-left:1px; + font-size:1.1em; + display:inline; + font-weight:bold; +} +dl.name-value > dd { + margin:0 0 0 1px; + font-size:1.1em; + display:inline; +} +/* + * Styles for lists. + */ +li.circle { + list-style:circle; +} +ul.horizontal li { + display:inline; + font-size:0.9em; +} +div.inheritance { + margin:0; + padding:0; +} +div.inheritance div.inheritance { + margin-left:2em; +} +ul.block-list, +ul.details-list, +ul.member-list, +ul.summary-list { + margin:10px 0 10px 0; + padding:0; +} +ul.block-list > li, +ul.details-list > li, +ul.member-list > li, +ul.summary-list > li { + list-style:none; + margin-bottom:15px; + line-height:1.4; +} +.summary-table dl, .summary-table dl dt, .summary-table dl dd { + margin-top:0; + margin-bottom:1px; +} +ul.see-list, ul.see-list-long { + padding-left: 0; + list-style: none; +} +ul.see-list li { + display: inline; +} +ul.see-list li:not(:last-child):after, +ul.see-list-long li:not(:last-child):after { + content: ", "; + white-space: pre-wrap; +} +/* + * Styles for tables. + */ +.summary-table, .details-table { + width:100%; + border-spacing:0; + border-left:1px solid #EEE; + border-right:1px solid #EEE; + border-bottom:1px solid #EEE; + padding:0; +} +.caption { + position:relative; + text-align:left; + background-repeat:no-repeat; + color:#253441; + font-weight:bold; + clear:none; + overflow:hidden; + padding:0; + padding-top:10px; + padding-left:1px; + margin:0; + white-space:pre; +} +.caption a:link, .caption a:visited { + color:#1f389c; +} +.caption a:hover, +.caption a:active { + color:#FFFFFF; +} +.caption span { + white-space:nowrap; + padding-top:5px; + padding-left:12px; + padding-right:12px; + padding-bottom:7px; + display:inline-block; + float:left; + background-color:#F8981D; + border: none; + height:16px; +} +div.table-tabs { + padding:10px 0 0 1px; + margin:0; +} +div.table-tabs > button { + border: none; + cursor: pointer; + padding: 5px 12px 7px 12px; + font-weight: bold; + margin-right: 3px; +} +div.table-tabs > button.active-table-tab { + background: #F8981D; + color: #253441; +} +div.table-tabs > button.table-tab { + background: #4D7A97; + color: #FFFFFF; +} +.two-column-summary { + display: grid; + grid-template-columns: minmax(15%, max-content) minmax(15%, auto); +} +.three-column-summary { + display: grid; + grid-template-columns: minmax(10%, max-content) minmax(15%, max-content) minmax(15%, auto); +} +.four-column-summary { + display: grid; + grid-template-columns: minmax(10%, max-content) minmax(10%, max-content) minmax(10%, max-content) minmax(10%, auto); +} +@media screen and (max-width: 600px) { + .two-column-summary { + display: grid; + grid-template-columns: 1fr; + } +} +@media screen and (max-width: 800px) { + .three-column-summary { + display: grid; + grid-template-columns: minmax(10%, max-content) minmax(25%, auto); + } + .three-column-summary .col-last { + grid-column-end: span 2; + } +} +@media screen and (max-width: 1000px) { + .four-column-summary { + display: grid; + grid-template-columns: minmax(15%, max-content) minmax(15%, auto); + } +} +.summary-table > div, .details-table > div { + text-align:left; + padding: 8px 3px 3px 7px; +} +.col-first, .col-second, .col-last, .col-constructor-name, .col-summary-item-name { + vertical-align:top; + padding-right:0; + padding-top:8px; + padding-bottom:3px; +} +.table-header { + background:#dee3e9; + font-weight: bold; +} +.col-first, .col-first { + font-size:13px; +} +.col-second, .col-second, .col-last, .col-constructor-name, .col-summary-item-name, .col-last { + font-size:13px; +} +.col-first, .col-second, .col-constructor-name { + vertical-align:top; + overflow: auto; +} +.col-last { + white-space:normal; +} +.col-first a:link, .col-first a:visited, +.col-second a:link, .col-second a:visited, +.col-first a:link, .col-first a:visited, +.col-second a:link, .col-second a:visited, +.col-constructor-name a:link, .col-constructor-name a:visited, +.col-summary-item-name a:link, .col-summary-item-name a:visited, +.constant-values-container a:link, .constant-values-container a:visited, +.all-classes-container a:link, .all-classes-container a:visited, +.all-packages-container a:link, .all-packages-container a:visited { + font-weight:bold; +} +.table-sub-heading-color { + background-color:#EEEEFF; +} +.even-row-color, .even-row-color .table-header { + background-color:#FFFFFF; +} +.odd-row-color, .odd-row-color .table-header { + background-color:#EEEEEF; +} +/* + * Styles for contents. + */ +.deprecated-content { + margin:0; + padding:10px 0; +} +div.block { + font-size:14px; + font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif; +} +.col-last div { + padding-top:0; +} +.col-last a { + padding-bottom:3px; +} +.module-signature, +.package-signature, +.type-signature, +.member-signature { + font-family:'DejaVu Sans Mono', monospace; + font-size:14px; + margin:14px 0; + white-space: pre-wrap; +} +.module-signature, +.package-signature, +.type-signature { + margin-top: 0; +} +.member-signature .type-parameters-long, +.member-signature .parameters, +.member-signature .exceptions { + display: inline-block; + vertical-align: top; + white-space: pre; +} +.member-signature .type-parameters { + white-space: normal; +} +/* + * Styles for formatting effect. + */ +.source-line-no { + color:green; + padding:0 30px 0 0; +} +h1.hidden { + visibility:hidden; + overflow:hidden; + font-size:10px; +} +.block { + display:block; + margin:0 10px 5px 0; + color:#474747; +} +.deprecated-label, .descfrm-type-label, .implementation-label, .member-name-label, .member-name-link, +.module-label-in-package, .module-label-in-type, .override-specify-label, .package-label-in-type, +.package-hierarchy-label, .type-name-label, .type-name-link, .search-tag-link, .preview-label { + font-weight:bold; +} +.deprecation-comment, .help-footnote, .preview-comment { + font-style:italic; +} +.deprecation-block { + font-size:14px; + font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif; + border-style:solid; + border-width:thin; + border-radius:10px; + padding:10px; + margin-bottom:10px; + margin-right:10px; + display:inline-block; +} +.preview-block { + font-size:14px; + font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif; + border-style:solid; + border-width:thin; + border-radius:10px; + padding:10px; + margin-bottom:10px; + margin-right:10px; + display:inline-block; +} +div.block div.deprecation-comment { + font-style:normal; +} +/* + * Styles specific to HTML5 elements. + */ +main, nav, header, footer, section { + display:block; +} +/* + * Styles for javadoc search. + */ +.ui-autocomplete-category { + font-weight:bold; + font-size:15px; + padding:7px 0 7px 3px; + background-color:#4D7A97; + color:#FFFFFF; +} +.result-item { + font-size:13px; +} +.ui-autocomplete { + max-height:85%; + max-width:65%; + overflow-y:scroll; + overflow-x:scroll; + white-space:nowrap; + box-shadow: 0 3px 6px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.23); +} +ul.ui-autocomplete { + position:fixed; + z-index:999999; +} +ul.ui-autocomplete li { + float:left; + clear:both; + width:100%; +} +.result-highlight { + font-weight:bold; +} +#search-input { + background-image:url('resources/glass.png'); + background-size:13px; + background-repeat:no-repeat; + background-position:2px 3px; + padding-left:20px; + position:relative; + right:-18px; + width:400px; +} +#reset-button { + background-color: rgb(255,255,255); + background-image:url('resources/x.png'); + background-position:center; + background-repeat:no-repeat; + background-size:12px; + border:0 none; + width:16px; + height:16px; + position:relative; + left:-4px; + top:-4px; + font-size:0px; +} +.watermark { + color:#545454; +} +.search-tag-desc-result { + font-style:italic; + font-size:11px; +} +.search-tag-holder-result { + font-style:italic; + font-size:12px; +} +.search-tag-result:target { + background-color:yellow; +} +.module-graph span { + display:none; + position:absolute; +} +.module-graph:hover span { + display:block; + margin: -100px 0 0 100px; + z-index: 1; +} +.inherited-list { + margin: 10px 0 10px 0; +} +section.class-description { + line-height: 1.4; +} +.summary section[class$="-summary"], .details section[class$="-details"], +.class-uses .detail, .serialized-class-details { + padding: 0px 20px 5px 10px; + border: 1px solid #ededed; + background-color: #f8f8f8; +} +.inherited-list, section[class$="-details"] .detail { + padding:0 0 5px 8px; + background-color:#ffffff; + border:none; +} +.vertical-separator { + padding: 0 5px; +} +ul.help-section-list { + margin: 0; +} +ul.help-subtoc > li { + display: inline-block; + padding-right: 5px; + font-size: smaller; +} +ul.help-subtoc > li::before { + content: "\2022" ; + padding-right:2px; +} +span.help-note { + font-style: italic; +} +/* + * Indicator icon for external links. + */ +main a[href*="://"]::after { + content:""; + display:inline-block; + background-image:url('data:image/svg+xml; utf8, \ + \ + \ + '); + background-size:100% 100%; + width:7px; + height:7px; + margin-left:2px; + margin-bottom:4px; +} +main a[href*="://"]:hover::after, +main a[href*="://"]:focus::after { + background-image:url('data:image/svg+xml; utf8, \ + \ + \ + '); +} + +/* + * Styles for user-provided tables. + * + * borderless: + * No borders, vertical margins, styled caption. + * This style is provided for use with existing doc comments. + * In general, borderless tables should not be used for layout purposes. + * + * plain: + * Plain borders around table and cells, vertical margins, styled caption. + * Best for small tables or for complex tables for tables with cells that span + * rows and columns, when the "striped" style does not work well. + * + * striped: + * Borders around the table and vertical borders between cells, striped rows, + * vertical margins, styled caption. + * Best for tables that have a header row, and a body containing a series of simple rows. + */ + +table.borderless, +table.plain, +table.striped { + margin-top: 10px; + margin-bottom: 10px; +} +table.borderless > caption, +table.plain > caption, +table.striped > caption { + font-weight: bold; + font-size: smaller; +} +table.borderless th, table.borderless td, +table.plain th, table.plain td, +table.striped th, table.striped td { + padding: 2px 5px; +} +table.borderless, +table.borderless > thead > tr > th, table.borderless > tbody > tr > th, table.borderless > tr > th, +table.borderless > thead > tr > td, table.borderless > tbody > tr > td, table.borderless > tr > td { + border: none; +} +table.borderless > thead > tr, table.borderless > tbody > tr, table.borderless > tr { + background-color: transparent; +} +table.plain { + border-collapse: collapse; + border: 1px solid black; +} +table.plain > thead > tr, table.plain > tbody tr, table.plain > tr { + background-color: transparent; +} +table.plain > thead > tr > th, table.plain > tbody > tr > th, table.plain > tr > th, +table.plain > thead > tr > td, table.plain > tbody > tr > td, table.plain > tr > td { + border: 1px solid black; +} +table.striped { + border-collapse: collapse; + border: 1px solid black; +} +table.striped > thead { + background-color: #E3E3E3; +} +table.striped > thead > tr > th, table.striped > thead > tr > td { + border: 1px solid black; +} +table.striped > tbody > tr:nth-child(even) { + background-color: #EEE +} +table.striped > tbody > tr:nth-child(odd) { + background-color: #FFF +} +table.striped > tbody > tr > th, table.striped > tbody > tr > td { + border-left: 1px solid black; + border-right: 1px solid black; +} +table.striped > tbody > tr > th { + font-weight: normal; +} +/** + * Tweak font sizes and paddings for small screens. + */ +@media screen and (max-width: 1050px) { + #search-input { + width: 300px; + } +} +@media screen and (max-width: 800px) { + #search-input { + width: 200px; + } + .top-nav, + .bottom-nav { + font-size: 11px; + padding-top: 6px; + } + .sub-nav { + font-size: 11px; + } + .about-language { + padding-right: 16px; + } + ul.nav-list li, + .sub-nav .nav-list-search { + padding: 6px; + } + ul.sub-nav-list li { + padding-top: 5px; + } + main { + padding: 10px; + } + .summary section[class$="-summary"], .details section[class$="-details"], + .class-uses .detail, .serialized-class-details { + padding: 0 8px 5px 8px; + } + body { + -webkit-text-size-adjust: none; + } +} +@media screen and (max-width: 500px) { + #search-input { + width: 150px; + } + .top-nav, + .bottom-nav { + font-size: 10px; + } + .sub-nav { + font-size: 10px; + } + .about-language { + font-size: 10px; + padding-right: 12px; + } +} diff --git a/JAVA/java_password_criptografer/package.bluej b/JAVA/java_password_criptografer/package.bluej new file mode 100644 index 00000000..b21a47e0 --- /dev/null +++ b/JAVA/java_password_criptografer/package.bluej @@ -0,0 +1,32 @@ +#BlueJ package file +editor.fx.0.height=0 +editor.fx.0.width=0 +editor.fx.0.x=0 +editor.fx.0.y=0 +objectbench.height=158 +objectbench.width=453 +package.divider.horizontal=0.6 +package.divider.vertical=0.7785953177257525 +package.editor.height=575 +package.editor.width=348 +package.editor.x=1920 +package.editor.y=232 +package.frame.height=848 +package.frame.width=477 +package.numDependencies=0 +package.numTargets=1 +package.showExtends=true +package.showUses=true +project.charset=UTF-8 +readme.height=60 +readme.name=@README +readme.width=48 +readme.x=10 +readme.y=10 +target1.height=70 +target1.name=Main +target1.showInterface=false +target1.type=ClassTarget +target1.width=120 +target1.x=80 +target1.y=10