草庐IT

mremap_encrypted

全部标签

encryption - 从文件中读入

我正致力于在Golang中制作一个基本的密码管理器,并希望能够存储使用RSA加密的密码。我的加密函数和解密函数都有效,并且会正确加密和解​​密。但是,将密码存储在文件中,然后从文件中读回密码后,解密功能将失败。我已检查以确保RSAkey的读入正确,这不是我的问题,因为RSAkey的读入工作正常。这是我将加密密码写入文件的方式ioutil.WriteFile(filename,encPassword,0644)这是我读回密码的方式encrypted,err=ioutil.ReadFile(encryptedFileName)当我运行我的程序时,我目前收到此错误代码failedindecr

encryption - 在 golang 中向 byte slice 添加填充的正确方法?

我试图在go中加密一些数据,但它几乎不是正确的cipher.BlockSize。是否有添加填充的“内置”方式,或者我应该使用函数手动添加它?现在这是我的解决方案://encrypt()encryptsthemessage,butsometimesthe//messageisn'ttheproperlength,soweaddpadding.funcencrypt(msg[]byte,key[]byte)[]byte{cipher,err:=aes.NewCipher(key)iferr!=nil{log.Fatal(err)}iflen(msg) 最佳答案

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++ - mremap 是否与 malloc 一起使用?

是void*mremap(void*old_address,size_told_size,size_tnew_size,unsignedlongflags);与malloc()兼容吗?GCC(C++)和使用Linux。谢谢。 最佳答案 不,不是。除了malloc不需要在页面边界给你一个地址(这是mremap所期望的)这一事实之外,弄乱内存映射是很危险的来自malloc而malloc不知道你做了它。请改用realloc。 关于c++-mremap是否与malloc一起使用?,我们在Stac

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

c - mremap "initialize"内存是否增长?

如果我mmap()一些PRIVATE和ANONYMOUS页面然后使用mremap()扩展它们,新空间是否也被初始化为零?我已经尝试阅读linux源代码中的mremap(mm/mremap.c)代码,但它需要一些我目前不具备的特定领域知识(vma_###东西)。甚至不确定那是正确的地方...但是,根据我收集到的信息,我认为mremap()ed内存会被清除,这是正确的吗?分配是这样完成的list=mmap(NULL,newSize,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANONYMOUS,-1,0)然后像这样重新映射newList=mremap(list