Software Developer. Crypto and Cybersecurity.

Recently, I started looking for ways to improve my professional skills and with that, I gained several Acclaim(now Credly) badges that are easily shared on LinkedIn, but not so easily shared on Github. And that led me to think of easy ways to automate this.

Over time, I became a huge fan of automation.

In programming and day-to-day tasks, It’s important not to waste time on rework.

I was already thinking about automatically updating my Github with these badges as I said before and this mentality joined my desire to create a project where I could learn more about…

Todo mundo conhece a clássica estratégia de good cop/bad cop, certo? É aquela lá, vista várias vezes em filmes, que uma dupla se divide e enquanto um encarna o bad cop que te maltrata, te faz sofrer e algumas vezes até te tortura, o outro, o good cop vai te proteger, te ajudar, para que você dê à ele as informações que estão buscando.

Aqui a analogia com testes é direta, enquanto um mal teste vai te torturar, te incomodar, te dar dor de cabeça e fazer você perder noites de sono, literalmente, um bom teste é todo o conforto…

*Aviso aos navegantes: esse papo aqui é dev para dev, morô? então se quiser continuar lendo, é por sua conta em risco, saiba que vai ter muito termo técnico aqui, e se não souber algum, pare o texto, pesquise o que significa e volte para aqui *❤

**Olá pessoal, eu sou o Pedro (ou Matias), desenvolvedor full stack aqui no aiqfome. Hoje vou falar agora sobre algo que todo o dev já deve ter mexido na vida, o fucking token. (***eu não obriguei você a ler aquele textão sobre hash à toa***), especificamente os tokens JWT.**

A palavra significa “passe”…

o primeiro artigo do devorando e uma visão geral de teoria e segurança!

**Olá pessoal, eu sou o Pedro, desenvolvedor full stack aqui no aiqfome. E vou estrear com vocês o ****devorando****, o blog dos devs do app mais fominha da internê!**

*Aviso aos navegantes: esse papo aqui é de dev para dev, morô? Então vão aparecer muitos termos técnicos. Se ficar difícil e você não souber algum, pare o texto, pesquise o que significa e aí volte pra cá! *💜

*Vocês devem estar pensando, caramba cara, vai falar de funções HASH logo de cara???? A resposta é sim, porque…*

I had never heard about American football until I started my bachelor’s degree in computer science.

I was living for the first time, in another city, being a new guy in a new place, so when a friend asked me if I wanted to start training on the new football team, I thought “ok, why not?” and that changed my whole life. And I never expected that improve myself for better (and to keep on improving).

I trained at Maringá Pyros for many years. On the team I was a RB / WR, after that, I was a football judge…

The basic concept of blockchain is very simple: *a distributed database that maintains a continuously growing list of ordered records.*

“Blockchain” is a term normally associated with Bitcoin and/or Ethereum, but the blockchain is more than that. Blockchain is the technology behind these and behind any other cryptocurrency.

There are several uses for blockchain. For example, games (CryptoKitties) or also blockchain+IOT (Internet of things), and this is just the start for the technology.

A more common definition for hash functions would be “a function that maps a string of bits of arbitrary length to a fixed-length bit string”.

Hash functions are unidirectional, a surjective** **function that does not allow reverse, so it is easy to calculate the hash value from any input of arbitrary length.

In contrast, it is harder to return to the previous value of the message from a given hash value.

For a cryptographic application, there are three desirable properties:

It is computationally impracticable to find any pair (x, y) such that H(x)=H(y)

For any value h given, it is…

It’s much easier to multiply numbers together than to factor them apart. That’s the basics of RSA encryption.

In particular, the RSA encryption works with two large primes *p* and *q*, is quickly and easy to find the product *pq* but it is harder to recover the factors *p* and *q* from *n*. Generally *p* and *q* are numbers with hundreds of digits, factoring a number of this magnitude is very slow.

To encode the message we need *n = pq* and a positive integer *e* that be reversible module φ (n). We talk about the Euler’s totient function before…

In number theory, The **Euler’s totient function**, counts the number of positive integers less than m and relatively prime to *m*. For a prime number *p*, *φ(p) = p-1*.

It can be defined more formally as the number of integers *k *in the range *1 ≤ k ≤ n* for which the greatest common divisor *gcd(n, k)* is equal to 1.

**Fermat’s little theorem** says that if *p* is a prime and *a* is not a multiple of *p*, then

Years ago I was programming for a small company who worked with *boarded system*. There I wrote codes for *shell scripts*, *python scripts *and another codes for *boarded systems*, sometimes for clients who lived in another state with machines that I don’t had any access, so my scripts were always a *black box* and for that was very common send the updates for e-mail.

Therefor, the client sended me a e-mail with the subject: “Not working”. In 5 minutes I refreshed the file and sended back. Problem solved right? Not totally.

It’s hard to small companies, even freelancers, do…