Tag: encryption

关于用于压缩文件的免费库的build议

我需要压缩和密码保护一个文件。 有没有一个好的(免费)图书馆呢? 这需要由第三方打开,所以密码保护需要使用标准工具。

PHP的AESencryption/解密

我find了一个在PHP中使用/解码string的例子。 起初它看起来非常好,但它不会工作:-( 有谁知道问题是什么? $Pass = "Passwort"; $Clear = "Klartext"; $crypted = fnEncrypt($Clear, $Pass); echo "Encrypted: ".$crypted."</br>"; $newClear = fnDecrypt($crypted, $Pass); echo "Decrypted: ".$newClear."</br>"; function fnEncrypt($sValue, $sSecretKey) { return trim(base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $sSecretKey, $sDecrypted, MCRYPT_MODE_ECB, mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB), MCRYPT_RAND)))); } function fnDecrypt($sValue, $sSecretKey) { return trim(mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $sSecretKey, base64_decode($sEncrypted), MCRYPT_MODE_ECB, mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB), MCRYPT_RAND))); } 结果是: encryption: boKRNTYYNp7AiOvY1CidqsAn9wX4ufz/D9XrpjAOPk8= 解密: —‚(ÑÁ ^ […]

如何selectAESencryption模式(CBC ECB CTRB OCB CFB)?

在哪些情况下,哪些人更喜欢? 我希望看到不同模式的评估标准清单,也许是讨论每个标准的适用性。 例如,我认为encryption和解密的标准之一就是“代码的大小”,这对微码embedded式系统(如802.11networking适配器)很重要。 如果实现CBC所需的代码比CTR所需要的代码小得多(我不知道这是真的,这只是一个例子),那么我可以理解为什么使用较小代码的模式将是首选。 但是,如果我正在编写一个在服务器上运行的应用程序,而且我使用的AES库同时实现了CBC和CTR,那么这个标准是无关紧要的。 看看我的意思是“每个标准的评估标准和适用性列表”? 这不是真正的编程相关,而是algorithm相关的。

encryption/解密在两个不同的openssl版本之间不能正常工作

我已经下载并编译了openssl-1.1.0 。 我可以使用相同的openssl EXEencryption和解密(就像这里 ) me@ubuntu:~/openssl-1.1.0$ LD_LIBRARY_PATH=. ./apps/openssl aes-256-cbc -a -salt -in file.txt -out file.txt.enc enter aes-256-cbc encryption password: 123 Verifying – enter aes-256-cbc encryption password: me@ubuntu:~/openssl-1.1.0$ LD_LIBRARY_PATH=. apps/openssl aes-256-cbc -a -d -in file.txt.enc -out file.txt.dec enter aes-256-cbc decryption password: 123 这个openssl使用: libcrypto.so.1.1, libssl.so.1.1 当我尝试使用安装在我的ubuntu上的openssl进行解密时,它使用: /lib/x86_64-linux-gnu/libssl.so.1.0.0, /lib/x86_64-linux-gnu/libcrypto.so.1.0.0 我得到一个错误: me@ubuntu:~/openssl-1.1.0$ openssl aes-256-cbc -a -d -in file.txt.enc […]

哪些密码套件启用SSL套接字?

我正在使用Java的SSLSocket来保护客户端和服务器程序之间的通信。 服务器程序还提供来自Web浏览器的HTTPS请求。 根据“ 使用Java开始encryption ”(第371页),您应该始终在您的SSLSocket / SSLServerSocket上调用setEnabledCipherSuites ,以确保最终协商的密码套件对您的目的足够强大。 这就是说,调用我的SSLSocketFactory的getDefaultCipherSuites方法会产生大约180个选项。 这些选项的范围从TLS_RSA_WITH_AES_256_CBC_SHA (我认为是相当安全的)到SSL_RSA_WITH_RC4_128_MD5 (不确定是否安全,给定MD5的当前状态)到SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA (不完全确定是什么)。 什么是密码套件的合理列表来限制套接字? 请注意,客户端和服务器可以访问Bouncy Castle服务提供商,并且他们可能会或可能不会安装无限的encryption策略文件。

为了散列而隐藏盐的必要性

在工作中,我们有两个相互竞争的盐理论。 我所使用的产品使用类似于用户名或电话号码的forms来encryption散列。 本质上,每个用户都有所不同,但是我们随时可用。 另一个产品为每个用户随机生成一个盐,每当用户更改密码时都会更改。 盐在数据库中被encryption。 我的问题是如果第二种方法真的有必要? 我从纯粹的理论angular度可以理解,它比第一种方法更安全,但从实践的angular度来看呢。 现在要validation用户,salt必须是未encryption的并应用于login信息。 思考一下之后,我从这个方法看不到真正的安全收益。 即使攻击者知道如何快速确定每个帐户的内容,但是将帐户之间的差异更改为帐户,仍然使得有人尝试强制哈希algorithm变得极其困难。 这是假设密码足够强。 (很明显,find一组密码的正确哈希,它们都是两位数字比find8位密码的正确哈希要容易得多。 我在逻辑上是不正确的,还是有我失踪的东西? 编辑:好吧,这就是为什么我认为这是真的没有什么encryption盐。 (让我知道我是否在正确的轨道上)。 对于下面的解释,我们假定密码总是8个字符,salt是5,所有的密码都是由小写字母组成(这只是使math更容易)。 对于每一个入口,盐的含量不同意味着我不能使用同一个彩虹桌(实际上,如果我有足够的尺寸,我可以做到这一点,但是暂时忽略这一点)。 根据我的理解,这是真正的盐的关键,因为要破解每一个帐户,我必须重新发明轮子,为每一个说话。 现在,如果我知道如何将正确的salt应用于密码来生成散列,我会这样做,因为salt实际上只是扩展了散列短语的长度/复杂度。 所以我会减less我需要产生的可能组合的数量,以“知道”我有13 ^ 26到8 ^ 26的密码+盐,因为我知道盐是什么。 现在,这使得它更容易,但仍然很难。 所以encryption盐。 如果我知道盐是encryption的,我不会尝试解密(假设我知道它有足够的encryption级别)。 我会忽略它。 回到前面的例子,我只想生成一个包含13 ^ 26所有键的更大的彩虹表,而不是试图找出解密的方法。 不知道盐会一定减慢我的速度,但我不认为这会增加尝试破解盐encryption的巨大任务。 这就是为什么我不认为这是值得的。 思考? 这里是一个链接,描述了在一个暴力攻击下密码将持续多长时间: http : //www.lockdown.co.uk/? pg=combi

使用PyCrypto AES 256进行encryption和解密

我试图build立两个函数使用PyCrypto接受两个参数:消息和密钥,然后encryption/解密消息。 我在网上find了几个链接来帮助我,但是他们每个人都有缺陷: 这个在codekoala上使用os.urandom,这是由PyCrypto不鼓励。 而且,我给这个函数的关键并不能保证有准确的长度。 我能做些什么来做到这一点? 还有几种模式,推荐哪一种? 我不知道该用什么:/ 最后,IV究竟是什么? 我可以提供一个不同的四encryption和解密,或者这将返回一个不同的结果? 以下是我迄今为止所做的: from Crypto import Random from Crypto.Cipher import AES import base64 BLOCK_SIZE=32 def encrypt(message, passphrase): # passphrase MUST be 16, 24 or 32 bytes long, how can I do that ? IV = Random.new().read(BLOCK_SIZE) aes = AES.new(passphrase, AES.MODE_CFB, IV) return base64.b64encode(aes.encrypt(message)) def decrypt(encrypted, passphrase): IV = […]

SHA512与Blowfish和Bcrypt

我在看哈希algorithm,但无法find答案。 Bcrypt使用河豚 河豚比MD5好 问:但是Blowfish比SHA512更好吗? 谢谢.. 更新: 我想澄清一点,我明白哈希和encryption之间的区别。 是什么促使我以这种方式提出这个问题,本文作者将bcrypt称为“自适应哈希” https://www.nccgroup.trust/us/about-us/newsroom-and-events/blog/2007/ 7月/够了,用最彩虹表,什么,你需要到专门关于安全密码的scheme/ 由于bcrypt基于Blowfish,所以我被认为Blowfish是一个哈希algorithm。 如果答案已经指出encryption,那么在我看来,这不应该在这篇文章中有一席之地。 更糟糕的是,他认为bcrypt是最好的。 现在让我困惑的是,phpass类(用于密码哈希algorithm)使用bcrypt(即blowfish,即encryption)。 基于这个新的信息,你们告诉我(河豚是encryption),这个class听起来不对。 我错过了什么吗?

我的应用程序是否“包含encryption”?

我第一次上传了一个二进制文件。 iTunes Connect问我: 出口法律要求包含encryption的产品应得到适当的出口授权。 不遵守可能会导致严重的处罚。 欲了解更多信息,请点击这里。 你的产品是否包含encryption? 我使用https:// ,但只能通过NSURLConnection和UIWebView 。 我的阅读是,我的应用程序不“包含encryption”,但我想知道这是否拼写出任何地方。 “严厉的惩罚”听起来并不令人愉快,所以“我认为这是正确的”有点粗略……权威的答案会更好。 谢谢。

在configuration文件中encryption密码?

我有一个程序从configuration文件中读取服务器信息,并希望encryption该configuration中可以被我的程序读取并解密的密码。 质量要求: encryption明文密码以存储在文件中 解密从我的程序中读入的encryption密码 任何关于如何去做这件事的reccomendations? 我正在考虑编写自己的algorithm,但我觉得这将是非常不安全的。