草庐IT

lets-encrypt

全部标签

encryption - 使 GCM/CBC 密码在 golang 中流式传输

Go中的GCM和CBCAES密码不能与StreamWriter或StreamReader一起使用,这迫使我将整个文件分配到内存中。显然,这对于大文件来说并不理想。我正在考虑通过将一些固定大小的block分配到内存中并将它们提供给GCM或CBC来使它们可流式传输,但我认为这可能是个坏主意,因为它们必须有一个原因就是这样设计的。有人可以解释为什么不将整个文件分配到内存中就不能使用这些操作模式吗? 最佳答案 简单的答案-这就是他们设计API的方式。CBC和GCM是非常不同的模式。GCM是AEAD模式(带关联数据的身份验证加密)。你真的需要

encryption - openpgp golang gpg 库的问题

所以我是golang的新手,我正在努力获得一个使用openpgp加密一些文本并再次解密的工作示例。这是我目前所拥有的:(https://gist.github.com/93750a142d3de4e8fdd2.git)packagemainimport("log""bytes""code.google.com/p/go.crypto/openpgp""encoding/base64""io/ioutil""os")//creategpgkeyswith//$gpg--gen-key//ensureyoucorrectpathsandpassphraseconstmysecretstri

encryption - Golang AES CFB - 变异 IV

我用Go编写了一个客户端应用程序,它需要与服务器端的C程序进行交互。客户端执行AESCFB加密,服务器解密。不幸的是,服务器端存在重用初始化向量的错误。它尝试根据以下条件进行3次解密操作:-key1,ivkey2,iv键3、iv由于thisissueiv实际上在解密操作之间被修改。我现在的问题是如何使用Go在客户端重现此行为。通过在下面的加密函数中插入一个Println,我可以看到cfb结构,我认为它包含下一个block的修改后的IV,但因为它是一个流接口(interface),我不确定如何将它提取到一个byteslice。有什么建议吗?谢谢packagemainimport("fmt

encryption - 如何在 golang 中使用 AES256-GCM 加密文件?

AES256-GCM可以在go中实现为https://gist.github.com/cannium/c167a19030f2a3c6adbb5a5174bea3ff然而,接口(interface)cipher.AEAD的Seal方法有签名:Seal(dst,nonce,plaintext,additionalData[]byte)[]byte所以对于非常大的文件,必须将文件内容全部读入内存,这是NotAcceptable。一种可能的方法是在Seal和Open上实现Reader/Writer接口(interface),但不应该AEAD的那些分组密码“模式”可以解决这些问题吗?所以我想知

encryption - 戈朗 : protect source code

目前Go/Golang是一个很难搜索的东西,我也没有在这里找到我要找的东西。我知道在用多种语言编译应用程序时可以进行某种程度的加密。编译成exe后,任何人都可以快速概述一下Go源代码的安全性吗?如果可以读取(至少部分读取),是否有任何方法可以提高源代码的安全性? 最佳答案 仅分发二进制文件(每个平台/架构)。这是任何语言所能达到的最好效果。没有办法如何在分发程序的同时确保对其进行逆向工程。任何人告诉你一些不同的东西可能只是想向你推销一个“保护”方案。真正不存在这样的事情。另一方面:99.9%的潜在用户可能不知道如何对您的程序进行逆向

c - AES_cbc_encrypt 中的段错误

我正在尝试更详细地了解OpenSSL库。因此,我一直在尝试使用AES_*函数,而不是使用一组更高级别的EVP函数。按照thisquestion中的一般调用集(虽然我使用的是CBC而不是计数器模式),但我想出了这段代码:voidctr(log_t*log){unsignedcharivec[16];/*Outbufferforciphertext*/unsignedcharoutBuf[16];blockReader_t*br=blockReaderInit(log,"./input.txt",128);intoutFD;if((outFD=open("out.bin",O_WRONLY

mongodb - DDD 和 MongoDB : Is it okay to let Mongo create ObjectIDs?

根据DDD(蓝皮书,Evans),工厂有责任创建处于有效状态的聚合根。这是否意味着它应该能够创建技术id(mongoDB世界中的objectId)以及域id?一方面,这似乎是一个技术细节,让Mongo处理ID的创建似乎没问题。另一方面,启用按id查询(通过在DDD存储库中使用getById)会将技术id公开给域,这反过来又会使工厂负责创建它。也许我无法理解技术ID与DomainId的不同用例/重叠等问题,或者我过于热心,但无论如何我还是很感激你的意见。简而言之:在DDD中:工厂是否应该能够创建技术ID以及域ID?可能的实现:Hi/Lo(Howtosetthehilosequencest

mongodb - DDD 和 MongoDB : Is it okay to let Mongo create ObjectIDs?

根据DDD(蓝皮书,Evans),工厂有责任创建处于有效状态的聚合根。这是否意味着它应该能够创建技术id(mongoDB世界中的objectId)以及域id?一方面,这似乎是一个技术细节,让Mongo处理ID的创建似乎没问题。另一方面,启用按id查询(通过在DDD存储库中使用getById)会将技术id公开给域,这反过来又会使工厂负责创建它。也许我无法理解技术ID与DomainId的不同用例/重叠等问题,或者我过于热心,但无论如何我还是很感激你的意见。简而言之:在DDD中:工厂是否应该能够创建技术ID以及域ID?可能的实现:Hi/Lo(Howtosetthehilosequencest

php - mcrypt_encrypt 到 openssl_encrypt 和 OPENSSL_ZERO_PADDING 问题

对于给定的$key、$message和$iv,我有这个mcrypt_encrypt调用:$string=mcrypt_encrypt(MCRYPT_3DES,$key,$message,MCRYPT_MODE_CBC,$iv);我想将mcrypt_encrypt调用更改为openssl_encrypt调用,以适应future需求。通过$mode='des-ede3-cbc'或$mode='3DES';和$options=true我得到更相似的react,但不完全相同。有没有其他方法调用它以获得完美匹配?我得到这个(base64_encoded)用于lorem-ipsum$message

php - 如何修复 curl : (35) Cannot communicate securely with peer: no common encryption algorithm(s)

我正在尝试使用phpcurl从https://torrage.com访问和下载一些.torrent文件。但是什么也没发生,curl_error($ch)给出了$ch=curl_init('https://torrage.com/torrent/640FE84C613C17F663551D218689A64E8AEBEABE.torrent');curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false);curl_setopt($ch,CURLOPT_USERAGENT,'Mozilla/5.0');curl_setopt($ch,CURLOPT_HEAD