Is cypher.js secure for sensitive data? Is this library secure? Link to github repo
Here's his explanation:

Cypher does not encrypt through allocation based on mapping patterns. Cypher encryption process is completely mathematical and therefore, no pattern can be observed in the encrypted data result. Furthermore, Cypher encryption process result is not persistent, which means that encrypting a particular object with a particular key multiple times is highly unlikely to result in the same data - see demonstration below.

let data = &quot;Cypher AAA&quot;, key = &quot;_b7gBiG1oo&quot;;

console.log(data.encrypt(key)); // Possible OUTPUT: x%7~(yo~6}103V3I'Iv
console.log(data.encrypt(key)); // Possible OUTPUT: xMeqv|D~~21c1Z'oOw
console.log(data.encrypt(key)); // Possible OUTPUT: tmu~4~v|l^&amp;X&quot;~1I'|

I'm no expert in this field, but based on his description is seems like it can't be reversed or cracked.
No. It is not secure. This is very simple substitution algorithm. It shows patterns clearly. If the encrypted message is long enough or if you have many short encrypted messages, you can crack it using simple frequency analysis. You don't need any complex technique to crack it.
Example:
let data = &quot;AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA&quot;;
let key = &quot;12345&quot;;
console.log(data.encrypt(key));
console.log(data.encrypt(key));
console.log(data.encrypt(key));

Result:
dopqrsopqrsopqrsopqrsopqrso~1}11pqrsopqrsopqrsopqrsopqrsb
dopqrsopqrsopq}33rsopqrsopqrso~3pqrsopqrsopqrsopqrsopqrsq
Nqrsopqrs}38opqrsopqrsopqrsopqrsopqrsopqrsopqrsopqrs~0opv

You see patterns clearly.