[Projetinho Pessoal] Cifra de Vigenère
Opa! Queria compartilhar esse projetinho pessoal que eu fez pra aprender um pouco de angular, e modéstia a parte ficou bem legal kkkk.
Na verdade eu criei esse repositório já faz algum tempo, mas na época não conhecia o tabnews e resolvi compartilhar por aqui :)
O projeto em questão é um cifrador e decifrador utilizando a Cifra de Vigenère. Nele eu disponibilizei duas formas de cifrar as mensagens: a simples, que é a forma normal usando a tabela de Vigenère comum; e a completa, que utiliza beem mais caracteres na cifra.
Além disso ele tem um artigo que explica oque é e como funciona esse cifra. Esse artigo foi gerado com chatGPT bem na época que todo esse papo de IA deu um boom.
Link do projeto: cifradevigenere.vercel.app Link do repositório: cifra-de-vigenere
É isso, espero que gostem :)
eai mano, tudo bem? achei muito interresante seu projeto, espero que siga aprendendo mais e mais angular e muitas outras tecnologias
no mesmo dia que vc postou aqui no tabnews, eu fui usar a sua aplicação. Como sou um usuário do mozilla firefox, percebi uma inconsistência em uma de suas funcionalidades (bem interessante por sinal essa feature) de colar o clipboard do usuário
como curioso, baixei seu projeto e tentei corrigir pra que pudesse dar meus 2 centavos a sua aplicação (novamente, que ficou muito legal), porém, minhas skills de angular são quase nulas, e não consegui destrinchar uma solução
aparentemente o firefox é mais conservador com relação as permissões de clipboard, nao permitindo que a aplicação do browser acesse-o
como ponto de partida, tentei fazer a v0 da correção, mas nao prossegui. Imaginei algo nesse sentido
colarTexto():void {
const userAgent = window.navigator.userAgent.toLowerCase();
if(userAgent.includes('firefox')){
navigator.permissions.query({ name: "clipboard-read" }).then((result) => {
if (result.state === "granted") {
// show, isso que precisamos
} else if (result.state === "prompt") {
// fazer alguma coisa, não sei exatamente
} else if (result.state === "denied") {
// mal, precisamos alertar o usuário que ele não vai poder usar a feature
}
});
}
navigator['clipboard'].readText().then((data) => {
this.mensagem = data;
});
}
Além disso, submeti uma issue lá, pra que fique registrado, também com alguns links para algumas docs e com mais informações do erro espero ter ajudado
e novamente, muito obrigado por compatilhar com a gente seu projeto, siga sempre colhendo mais bons frutos como esse abraço
Da hora demais mano parabéns!