小编Kal*_*sar的帖子

在Dockerfile中使用'pyenv Activate'

我正在尝试在Dockerfile(FROM nvidia/cuda:8.0-cudnn5-devel-ubuntu16.04)中安装和设置pyenv

这是Dockerfile的后半部分(前半部分只是安装依赖项):

RUN useradd -ms /bin/bash user && echo "user:resu" | chpasswd && adduser user sudo
USER user
WORKDIR /home/user

# install pyenv
RUN git clone git://github.com/yyuu/pyenv.git .pyenv
ENV HOME  /home/user
ENV PYENV_ROOT $HOME/.pyenv
ENV PATH $PYENV_ROOT/shims:$PYENV_ROOT/bin:$PATH
RUN echo 'export PYENV_ROOT="$HOME/.pyenv"' >> .bashrc
RUN echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> .bashrc
RUN echo 'eval "$(pyenv init -)"' >> .bashrc
RUN pyenv install 2.7.10

# install pyenv-virtualenv
RUN git clone https://github.com/yyuu/pyenv-virtualenv.git .pyenv/plugins/pyenv-virtualenv
RUN echo 'eval "$(pyenv virtualenv-init -)"' >> .bashrc …
Run Code Online (Sandbox Code Playgroud)

python ubuntu virtualenv docker pyenv

5
推荐指数
1
解决办法
1636
查看次数

Python - Pycrypto - 通过网络发送加密数据

我试图让2个程序使用公钥通过网络共享加密数据,但我遇到了一个困难的问题:共享的信息(密钥和/或加密数据)似乎被修改.我希望尽可能简单地保持加密数据格式和密钥格式,以便与其他语言兼容.为了解决这个问题,我创建了两个程序:Keyreceive和Keysend.它们按此顺序执行:

  1. Keyreceive启动并等待接收加密数据
  2. Keysend启动并生成RSA密钥,将导出的私钥保存到文件中
  3. Keysend对一段数据进行加密,并通过网络将其发送给Keyreceive
  4. Keyreceive从同一文件导入私钥,并使用它来解密加密数据
  5. Keysend还解密加密数据以验证结果

Keysend.py

import socket
import os
from Crypto.PublicKey import RSA
from Crypto import Random

rng = Random.new().read
RSAkey = RSA.generate(1024, rng) 

privatekey = RSAkey
publickey = RSAkey.publickey()
print(privatekey.exportKey()) #export under the 'PEM' format (I think)
print(publickey.exportKey())

file = open("Keys.txt", "w")
file.write(privatekey.exportKey()) #save exported private key
file.close()

data = "hello world"
enc_data = publickey.encrypt(data, 16) #encrypt message with public key
print(str(enc_data))

host = "localhost"
port = 12800
connexion = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
connexion.connect((host, port))
connexion.send(str(enc_data)) # send …
Run Code Online (Sandbox Code Playgroud)

python networking file public-key-encryption pycrypto

3
推荐指数
1
解决办法
6722
查看次数

Crypto ++ Code :: blocks未定义参考问题

我正在尝试使用Crypto ++(带有Code :: Blocks)创建一个C ++程序,但始终遇到相同的问题。我正在使用此代码的简化版本:http : //andreyvitdev.blogspot.com/2005/10/crypto-usage-sample.html ,但我无法对其进行编译。

#include "cryptopp/blowfish.h"
#include "cryptopp/osrng.h"

using namespace CryptoPP;

int main (int argc, char** argv) {

    byte key[Blowfish::DEFAULT_KEYLENGTH],
            iv[Blowfish::BLOCKSIZE];

    AutoSeededRandomPool rng (true);
    rng.GenerateBlock(key, sizeof (key));
    rng.GenerateBlock(iv, sizeof (iv));

}
Run Code Online (Sandbox Code Playgroud)

我收到多个错误,开始于:“ C:\ Users \ Utilisateur \ Programming \ C ++ \ CodeBlocks \ Crytp tester \ main.cpp | 13 |未定义对`CryptoPP :: RandomNumberGenerator :: GenerateBlock的引用(未签名char *,未签名int) '”

我想念什么吗?在不同站点上有许多必须导入的库的引用,但是我不知道它们在crypto ++文件夹中的位置:http : //www.cryptopp.com/#download

c++ reference codeblocks undefined crypto++

2
推荐指数
1
解决办法
2771
查看次数