小编Maa*_*wes的帖子

暂时禁用 ggplot() 中已定义的美学

我们可能想aes()ggplot()图形定义一些全局的,但在某些层中排除它们。例如假设以下示例:

foo <- data.frame(x=runif(10),y=runif(10))
bar <- data.frame(x=c(0,1),ymin=c(-.1,.9),ymax=c(.1,1.1))
p <- ggplot(foo,aes(x=x,y=y))+geom_point()
Run Code Online (Sandbox Code Playgroud)

一切都很好。但是,当尝试添加功能区时:

p <- p + geom_ribbon(data=bar, aes(x=x,ymin=ymin,ymax=ymax), alpha=.1)
# Error: Discrete value supplied to continuous scale
Run Code Online (Sandbox Code Playgroud)

发生此错误是因为我们已经定义了y全局的一部分aes(),也适用于geom_ribbon(),但bar没有它。

我发现了两种避免此错误的可能性,其中之一是y=y从原来的中删除ggplot(foo,aes(x=x,y=y)),但是以后每次我需要绘制一些我应该添加到不好的内容y=y中。aes()

另一种可能性是添加一个假ybar

bar = cbind(bar, y=0)
p <- p + geom_ribbon(data=bar, aes(x=x,ymin=ymin,ymax=ymax), alpha=.1)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

现在效果很好。然而我不喜欢这样做,因为它是一个假变量。有没有办法aes()ggplot()调用时暂时禁用已定义的geom_ribbon()

r ggplot2 aesthetics

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

如何在.NET 4.5 Core中计算HMAC-SHA1身份验证代码

我目前面临一个大问题(环境:.NET 4.5 Core):我们需要使用HMAC-SHA1算法用密钥保护消息.问题是命名空间的HMACSHA1类System.Security.Cryptography和命名空间本身在.NET 4.5 Core中不存在,此命名空间仅存在于.NET的普通版本中.

我尝试了很多方法来为我们的目的找到一个等效的命名空间,但我发现的唯一的事情是Windows.Security.Cryptography遗憾的是它没有提供HMAC加密.

有没有人知道如何解决我们的问题,或者是否可以免费使用第三方解决方案?

.net c# cryptography hmac hmacsha1

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

如果密码无效,则使 AES 解密失败

我最近使用 PyCrypto 在一个项目中使用 AES 编写了自己的加密方法。我使用哈希生成一个 32 字节的密码,并使用 CBC 将其提供给 AES-256 位加密。文件输入使用 PKCS#7 填充填充以符合可被 16 整除。

我可以毫无意外地加密和解密文件,并且最初与输出文件一起加密的输入文件具有相同的 SHA-256 哈希值。

我发现的唯一问题是,如果我提供了错误的密码,解密仍然会发生。这是我正在做的事情的一个问题,因为如果密码错误,我需要快速解密失败。

我怎样才能做到这一点?我听说过其他 AES 加密方法,但 PyCrypto 似乎只支持 ECB、CBC、CFB、OFB、CTR 和 OpenPGP。如何实现加密强度高的 AES,如果没有正确的密码,它会无法解密?

python encryption aes

5
推荐指数
2
解决办法
1880
查看次数

当数据阵列的第一个条目为零时,使用RSA加密获得太短的数组

我试图使用java bouncy castle库来使用RSA来解密和解密一个短字节数组.我做了以下步骤:

  1. 生成2048位密钥对.
  2. 创建一个短数据字节数组,其中第一个条目为零.
  3. 使用生成的密钥和RSA加密数据阵列.
  4. 使用生成的密钥和RSA解密加密的数据阵列.
  5. 比较原始和解密的数据数组.

我注意到原始和解密的数据数组不一样.解密的数据数组缺少第一个条目,因此比原始数据数组短1.仅当数据数组的第一个条目为"0"时才会发生这种情况.为什么会这样?解密不应该返回相同的数据数组吗?或者我对图书馆的假设,使用和理解是错误的?

这里是完整的测试用例(带有导入以便更好地理解):

import static org.junit.Assert.assertTrue;

import java.io.IOException;
import java.math.BigInteger;
import java.security.*;
import java.security.spec.RSAKeyGenParameterSpec;
import java.util.Arrays;

import javax.crypto.BadPaddingException;
import javax.crypto.Cipher;
import javax.crypto.IllegalBlockSizeException;
import javax.crypto.NoSuchPaddingException;

import org.bouncycastle.crypto.DataLengthException;
import org.bouncycastle.crypto.InvalidCipherTextException;
import org.bouncycastle.jce.provider.BouncyCastleProvider;
import org.bouncycastle.jce.provider.JDKKeyPairGenerator;
import org.bouncycastle.util.encoders.Hex;
import org.hive2hive.core.H2HJUnitTest;
import org.junit.Test;

public class EncryptionUtil2Test {

    @Test
    public void testBug() throws IOException, InvalidKeyException, IllegalBlockSizeException,
        BadPaddingException, DataLengthException, IllegalStateException, InvalidCipherTextException,
        NoSuchAlgorithmException, NoSuchProviderException, NoSuchPaddingException,
        InvalidAlgorithmParameterException {

        Security.addProvider(new BouncyCastleProvider());

        // generate RSA keys
        BigInteger publicExp = new BigInteger("10001", 16); // Fermat …
Run Code Online (Sandbox Code Playgroud)

java arrays encryption rsa bouncycastle

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

加密处理器和协处理器之间的差异

我正在尝试使用加密和解密算法处理问题,我使用下面的程序来测试我的要求,我意识到一个奇怪的问题.

我正在使用polarssl来满足我的加密和解密需求.

当我使用此命令在intel处理器上使用icc编译器编译它时,此程序运行良好:(来自polarssl的aes.c)

icc Deneme.c aes.c -o deneme
Run Code Online (Sandbox Code Playgroud)

输出:

Encryption result, encrypted value:
11 22 7 86 a2 d3 ed 95 b9 14 c0 57 f7 af 5f dc 93 66 77 68 44 12 9f 1b 72 6a ea 51 b8 f7 1d a4
Decryption result, plain array:
a2 d8 69 9c 77 73 c7 5e 1d 3b 83 26 6e 2f 35 30 9d f0 f2 e5 0 0 0 0 0 0 0 0 0 0 0 …
Run Code Online (Sandbox Code Playgroud)

c encryption intel icc polarssl

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

PDF签名摘要

我有一个关于计算用于数字签名的PDF文档摘要的快速问题(与我之前的一个问题有点相关,我试图弄清楚为什么你需要知道客户的证书才能创建正确的摘要).在Adobe有关PDF格式的文档中,指定了以下内容:

应在文件中的字节范围内计算字节范围摘要,该字节范围摘要应由签名字典中的ByteRange条目指示.此范围应该是整个文件,包括签名字典,但不包括签名值本身(内容条目).

所以在这一点上事情似乎相当简单,只是消化/ Sig字典中除/ Contents条目之外的所有内容./ Contents条目中的实际数据指定如下:

对于公钥签名,Contents应该是DER编码的PKCS#1二进制数据对象或DER编码的PKCS#7二进制数据对象.

所以仍然没有问题,我可以(可能)生成摘要,为/ Contents条目保留空间并稍后附加此PKCS#7对象.当我阅读以下内容时,混乱就开始了:

撤销信息是签名属性,这意味着签名软件必须在签名之前捕获吊销信息.类似的要求适用于证书链.签名软件必须在签名之前捕获并验证证书链.

所以我没有得到的东西:显然/ Contents条目(包含证书和签名摘要)没有消化,但证书链是一个签名属性(因此需要被消化?).

如果有人能够进一步确定消化的内容,我会很感激,也许更好地向我解释已签名的属性.我想回答的主要问题是:我是否可以在事先不知道某人的证书的情况下创建一个可签名的摘要?(我正在使用pkcs7分离签名)

pdf digest digital-signature pkcs#7

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

等待然后接收文本字段输入而不冻结GUI

我希望我不会重复一个问题,但我找不到专门针对我的问题.我正在开发一个小型数学闪存卡应用程序,使用JavaFX创建GUI.该计划应如下运行:

  1. 用户选择设置,然后按开始按钮.
  2. gui显示用户输入的问题和文本字段.
  3. 用户在X秒内输入答案或gui自动移动到下一个问题 - 或者,用户可以通过按下一个按钮立即转到下一个问题.
  4. GUI显示得分和平均值.

问题getText()来自用户文本字段,只要按下开始按钮就会处理,而不会给用户输入答案的机会.在处理用户的答案之前,如何让程序等待X秒或者单击下一个按钮?这是我的代码:

//start button changes view and then runs startTest()
start.setOnAction(e -> {

        setLeft(null);
        setRight(null);

        setCenter(test_container);
        running_program_title.setText(getDifficulty().name() + " Test");
        buttons_container.getChildren().clear();
        buttons_container.getChildren().addAll(next, quit, submit);

        startTest();
    });
Run Code Online (Sandbox Code Playgroud)

这是问题代码......至少我是怎么看的.

//startTest method calls askAdd() to ask an addition question
void startTest() {

    int asked = 0;
    int correct = 0;

    while (asked < numberOfQuestions) {
        if(askAdd()){
        correct++;
        asked++;
    }
}

boolean askAdd() {

    int a = (int) …
Run Code Online (Sandbox Code Playgroud)

java user-interface multithreading javafx freeze

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

在TFS中合并提交

因此,在Git中,您可以将多个提交压缩为一个提交。例如,假设我签入了一个更改,但是我意识到我忘记了一些小东西,所以我在本地进行更改,然后再次提交。使用Git壁球,您可以将它们合并为一个提交。

我的问题是TFS是否有某种方法可以做同样的事情?

version-control tfs

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

crypto和bcrypt有什么区别

这些模块是必需的

const crypto = require('crypto');
const bcrypt = require('bcrypt');
Run Code Online (Sandbox Code Playgroud)

他们之间我很困惑.我想知道它们之间的区别以及它何时应该被使用.

cryptography bcrypt node.js

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

在exoplayer android中使用AES的在线加密流视频文件

我有使用存储在服务器上的AES加密的视频文件.如何在exoplayer中在线流式传输?我不想下载文件并解密它:等待下载完成然后播放解密文件.

encryption video-streaming exoplayer

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