草庐IT

AES-CMAC

全部标签

ruby - OpenSSL AES-256-CBC 加密错误, "wrong final block length" ruby

使用Ruby1.8.6。我正在编写一个基本服务器,它回显客户端发送的消息的加密版本,以了解Ruby中对称加密的实现。该程序旨在接受套接字连接,共享其key,然后加密接收到的数据,然后再将其发送回客户端程序。然后客户端使用共享key解密消息,显示回显消息。我遇到的问题是返回消息导致“错误的最终block长度(OpenSSL::CipherError)”。进一步检查问题,删除decrypted允许我的客户端程序解密消息,但在末尾添加额外的字符或银行空格。我知道这是因为final关键字删除了额外的填充以允许CBC模式的16位block加密/解密,但我无法弄清楚如何使工作正常。这是简化的服务器

c# - 在哪里存储 AES key ?

我正在使用ASP.NETMVC创建一个Web应用程序,我想将一些密码存储到数据库中。密码必须是可恢复的。(它们不适合我自己,我需要密码才能与需要真实密码的API通信)所以我不能使用哈希算法等。我发现AES对我来说是一个很好的加密算法。但是,问题是:在哪里存储AESkey?存储在web.config中的appsettings就足够了吗?如何让key更难找到(黑客)?下一个问题:有什么想法可以让这个系统更安全吗? 最佳答案 可以加密.config文件的部分。Hereisthemsdndocumentation关于这个主题,尽管您也可以在

PHP 使用 AES、ECB 模式 block 和 PKCS5Padding 生成对称 key

我需要在ECB模式block中使用标准AES和PKCS5Padding生成对称key,但我做不到。在我的搜索过程中,我只找到了用上述条件加密某些东西的函数。但我不想要这个;我想生成一个对称key。我需要能够与网络服务通信,我需要它,因为它是加密的一部分。我看过phpseclib,但该库也不生成对称key。 最佳答案 首先,要对需要即兴创作的输入执行PKCS#5填充://source:http://php.net/manual/en/ref.mcrypt.php#69782functionpkcs5_pad($text,$blocks

java - AES/CBC/PKCS5PADDING IV - NodeJs 解密(Java 加密)

我正在尝试在NodeJs中解密。它在Java中工作。但我无法在Node中实现相同的目标。node-version:8.4请找到我的NodeJs代码:varcrypto=require('crypto');functiondecryption(message,key){varmessageArray=Buffer.from(message,'base64');//varkekbuf=Buffer(key,'utf8');varivBuffer=newBuffer([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);variv=ivBuffer.slice(0,16);v

java - 用Java实现AES加解密

这是我正在做的事情,看起来有点笨拙,但对于这个问题,我们将不胜感激。我遇到了BadPaddingException。阅读了几乎所有相关主题,但没有找到合适的解决方案。我是加密解密编程的新手,需要在我的一个Java应用程序中实现它。谢谢你..这就是代码的样子....publicstaticvoidmain(String[]args)throwsNoSuchAlgorithmException,NoSuchPaddingException,InvalidKeyException,IllegalBlockSizeException,BadPaddingException{//TODOAuto

java - 具有基于密码的 SecretKeySpec 与 PBE 的 AES

在阅读了几个关于实现AES的stackoverflow问题后,我想我开始理解基础知识了:每次我都应该生成一个新的IV使用PBE时,迭代次数应在1000-4000+左右因为我无法预测要加密的数据量,所以我不应该使用ECB密码模式我的环境很简单:密码应该是安全的,它是一个安全随机生成的随机32个字符(即不是由用户设置)。生成的加密内容最终可能会存储为cookie,因此它们在某种程度上是公开的基于这些我想出了下面的Java代码:publicclassSecureEncryption{privatestaticfinalStringCONTENT="thisneedstobestoredver

c++ - 生成 AES (AES-256) 查找表

我正在尝试使用nVidiaCUDA在CTR模式下实现AES-256。我已经成功地为key扩展编写了CPU代码,现在我需要实现实际的AES-256算法。根据维基百科,我见过一些代码,特别是thisPDF(第9页),AES循环可以实现为一系列表查找。我的问题是如何生成这些表?我知道我需要4KB来存储这些表,这不是问题。我花了一整天的时间试图找到这些表,但没有成功。我发布的PDF链接提到了查找表T0、T1、T2和T3,但我不知道这些是什么。它还提到了轮key4、5、6和7,但我也不明白这些索引指的是什么。我最接近弄清楚如何生成这些查找表的是thisproject.在代码中,有一条评论说:Te

java - AES 256 加密 - Qt 等同于 Java

我实现了AES256加密方法,并且在Java中运行良好,如下所示!privatestaticfinalbyte[]IV={0,2,4,8,16,32,64,127,127,64,32,16,8,4,2,0};//actualencryptionoverhereprivatestaticbyte[]encrypt(byte[]raw,byte[]clear)throwsException{SecretKeySpecskeySpec=newSecretKeySpec(raw,"AES");Ciphercipher=null;if(isIVUsedForCrypto){cipher=Ciph

ios - hls aes 加密视频在 ios 上的 EXT-X-DISCONTINUITY 标签后无法播放

看起来ios不喜欢将加密的.ts文件与EXT-X-DISCONTINUITY标签混合在一起的hlsm3u8文件。这是一个测试播放列表,它是两个视频的混合。一个未加密的前置广告和主要的加密视频。两者单独播放都很好,但是当我将它们放在一个m3u8中并用EXT-X-DISCONTINUITY分隔时,只播放预卷,然后播放器停止。#EXTM3U#EXT-X-TARGETDURATION:10#EXTINF:10,http://ixemes-ppweb.ixemes.com/prerollmain/vig_400-0.ts#EXTINF:10,http://ixemes-ppweb.ixemes.

ios - 带有 iso10126 填充的 iOS 上的 AES256 解密

我需要能够从不受控制的服务器中解密带有iso10126填充的AES256加密数据block。CCCrypt似乎只支持“kCCOptionECBMode”和“kCCOptionPKCS7Padding”作为选项,因此CommonCrypto库似乎无法满足我的需求。什么是最佳解决方案?我还希望能够使用iso7816和iso10126填充,但它们的优先级较低。我知道这些填充选项被认为“可能不安全”,但由于我无法控制数据源,我仍然希望能够使用这些设置进行解密。我相当确定这些AES加密的数据片段是由CryptoJSjavascript库加密的(它具有上面提到的所有填充选项)。我知道我可以通过UI