1+ //Criação do objeto Vue
2+
3+ const aplicacao = new Vue ( {
4+ el : '#main' , //define qual elemento do HTML vai representar o objeto Vue
5+ data : { //o atributo data define as propriedades da aplicação
6+ txtParaCripto : '' ,
7+ txtParaDescripto : '' ,
8+ msgErro : '' ,
9+ resultadoTitulo : '' ,
10+ resultadoTexto : '' ,
11+ } ,
12+ methods : {
13+ criptografar : function ( event ) {
14+ event . preventDefault ( ) ;
15+
16+ //se for > 0 definimos o titulo do box de mensagem o texto criptografado e apagamos a msg de erro
17+ if ( this . txtParaCripto . length > 0 ) {
18+ this . resultadoTitulo = "Texto criptografado" ;
19+ this . resultadoTexto = btoa ( this . txtParaCripto ) //função btoa do js para criptografar umt txt base64
20+ this . msgErro = "" ;
21+ } else { //se for < 0 apagamos o titulo do box de mensagem o texto cripto/descriptografado e definimos a msg de erro
22+ this . resultadoTitulo = "" ;
23+ this . resultadoTexto = "" ;
24+ this . msgErro = "Digite um texto para criptografar" ;
25+ }
26+ } ,
27+
28+ verificaBase64 : function ( texto ) {
29+ // definição do padrão para analisar se o texto é base64
30+ const regex = / ^ ( [ A - Z a - z 0 - 9 + / ] ) * ( [ A - Z a - z 0 - 9 + / ] | [ A - Z a - z 0 - 9 + / ] = | [ A - Z a - z 0 - 9 + / ] = = ) $ / ;
31+ return regex . test ( texto ) // uso da função .test do js para testar se o texto segue o padrão base64
32+ } ,
33+
34+ descriptografar : function ( event ) {
35+ event . preventDefault ( ) ;
36+
37+ //chama o metodo verificaBase64 para ver se o txt digitado é um tt criptografado (base64)
38+ //e armazenamos na variável verificaBase64
39+
40+ const verificaBase64 = this . verificaBase64 ( this . txtParaDescripto ) ;
41+
42+ //verifica se o txt digitado é base64 e se tem mais de 0 caracteres
43+ if ( verificaBase64 && this . txtParaDescripto . length > 0 ) {
44+ this . resultadoTitulo = "Texto descriptografado"
45+ this . resultadoTexto = atob ( this . txtParaDescripto ) ;
46+ this . msgErro = ""
47+ } else {
48+ this . resultadoTitulo = "" ;
49+ this . resultadoTexto = "" ;
50+ this . msgErro = "Este não é um formato válido" ;
51+ }
52+ }
53+ }
54+
55+ } )
0 commit comments