
Research
Security News
Malicious npm Package Wipes Codebases with Remote Trigger
A malicious npm typosquat uses remote commands to silently delete entire project directories after a single mistyped install.
= encrypted_strings
+encrypted_strings+ provides dead-simple string encryption/decryption syntax.
== Resources
API
Bugs
Development
Source
== Description
Encrypting and decrypting data is not exactly the most straightforward and DRY way. encrypted_strings improves the syntax and reduces the complexity, adding straightforward support for encrypting values using SHA-1, Symmetric, and Asymmetric ciphers.
== Usage
=== SHA Encryption
password = 'shhhh' => "shhhh" encrypted_password = password.encrypt => "66c85d26dadde7e1db27e15a0776c921e27143bd" encrypted_password.class => String encrypted_password.cipher => #<EncryptedStrings::ShaCipher:0x2b9238889460 @salt="salt"> encrypted_password == 'shhhh' => true encrypted_password.decrypt NotImplementedError: Decryption is not supported using a(n) EncryptedStrings::ShaCipher from ./script/../config/../config/../vendor/plugins/encrypted_strings/lib/encrypted_strings/cipher.rb:13:in
decrypt' from ./script/../config/../config/../vendor/plugins/encrypted_strings/lib/encrypted_strings/extensions/string.rb:52:in
decrypt' from (irb):40
When encrypt is called, it creates a +cipher+ instance which is used for future encryption and decryption of the string. The default cipher uses SHA-1 encryption. For ciphers that do not support decryption, equality with other strings is tested by encrypting the other string and checking whether the resulting encrypted value is the same.
=== Symmetric Encryption
password = 'shhhh' => "shhhh" crypted_password = password.encrypt(:symmetric, :password => 'secret_key') => "qSg8vOo6QfU=\n" crypted_password.class => String crypted_password == 'shhhh' => true password = crypted_password.decrypt => "shhhh"
=== Asymmetric encryption
password = 'shhhh' => "shhhh" crypted_password = password.encrypt(:asymmetric, :public_key_file => './public.key', :private_key_file => './private.key') => "NEwVzcikYUKfS8HTc9L9eg/dMxBCLZ/nFr7J1aQYjkl3I2MPUD0lmjr/saC6\nTJEPwOl60Ki24H8TUwnGtZy14A==\n" crypted_password.class => String crypted_password == 'shhhh' => true password = crypted_password.decrypt => "shhhh"
== Dependencies
None.
== References
FAQs
Unknown package
We found that encrypted_strings demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
A malicious npm typosquat uses remote commands to silently delete entire project directories after a single mistyped install.
Research
Security News
Malicious PyPI package semantic-types steals Solana private keys via transitive dependency installs using monkey patching and blockchain exfiltration.
Security News
New CNA status enables OpenJS Foundation to assign CVEs for security vulnerabilities in projects like ESLint, Fastify, Electron, and others, while leaving disclosure responsibility with individual maintainers.