草庐IT

java.lang.IllegalStateException : Cipher not initialized 错误

我已经在Android应用程序中实现了加密/解密。我添加了一个加密类,该类已成为单例类。部分代码如下:publicclassEncryption{privateSecretKeySpecmKey=null;privateCiphermCipher=null;privatebyte[]mKeyBytes=null;privateAlgorithmParameterSpecmParamSpec=null;privatestaticEncryptionsInstance;publicEncryption(){byte[]iv=newbyte[]{0,0,0,0,0,0,0,0,0,0,0,0

java.lang.RuntimeException : Failed to init Cipher using FingerPrint 错误

我正在使用指纹sdk,但它总是崩溃。java.lang.RuntimeException:FailedtoinitCipheratcom.example.ammar.fingerbyitself.MainActivity.initCipher(MainActivity.java:160)atcom.example.ammar.fingerbyitself.MainActivity.access$000(MainActivity.java:55)atcom.example.ammar.fingerbyitself.MainActivity$1.onClick(MainActivity.j

java - java中是否有以下Aes加密函数的Dart等价物

我已经设置了一个服务器,它通过下面提到的java函数监听加密的字节数组。早些时候我使用java(android)来构建我的应用程序,因此使用相同的java函数很容易,但我无法弄清楚该函数的dart等效(flutter)是什么,它将字符串作为输入并返回AES加密字节数组作为输出,我可以将其写入tcp套接字。我也非常感谢帮助我了解如何将生成的字节数组写入服务器,然后读取类似的响应并通过dart(flutter)解密它我已经成功地编写了简单的字符串并通过dart接收简单的字符串作为输入和输出到tcp服务器,但不能对加密的字节数组做同样的事情。在java中,我使用DataOutputStrea

java - java中是否有以下Aes加密函数的Dart等价物

我已经设置了一个服务器,它通过下面提到的java函数监听加密的字节数组。早些时候我使用java(android)来构建我的应用程序,因此使用相同的java函数很容易,但我无法弄清楚该函数的dart等效(flutter)是什么,它将字符串作为输入并返回AES加密字节数组作为输出,我可以将其写入tcp套接字。我也非常感谢帮助我了解如何将生成的字节数组写入服务器,然后读取类似的响应并通过dart(flutter)解密它我已经成功地编写了简单的字符串并通过dart接收简单的字符串作为输入和输出到tcp服务器,但不能对加密的字节数组做同样的事情。在java中,我使用DataOutputStrea

java - 指定 Cipher.getInstance() 参数?

我在一个android应用程序和一个独立的java应用程序中使用以下内容:privatestaticbyte[]encrypt(byte[]raw,byte[]clear)throwsException{SecretKeySpecskeySpec=newSecretKeySpec(raw,"AES");Ciphercipher=Cipher.getInstance("AES");cipher.init(Cipher.ENCRYPT_MODE,skeySpec);byte[]encrypted=cipher.doFinal(clear);...我在android和我的独立java应用程序

java - 在服务器端启用 "Ignoring unsupported cipher suite"时出现 "-Djavax.net.debug=ssl:handshake"消息

我已经实现了SSLServerSocket并且当我使用选项-Djavax.net.debug=ssl:handshake启动.jar文件以进行安全调试握手时,我也收到了这些消息(在建立一些安全连接之前):...Ignoringunavailableciphersuite:TLS_ECDHE_RSA_WITH_AES_256_CBC_SHAIgnoringunavailableciphersuite:TLS_DHE_RSA_WITH_AES_256_CBC_SHAIgnoringunavailableciphersuite:TLS_ECDH_RSA_WITH_AES_256_CBC_SH

java - Cipher 对象是否可重用?

我能否在多个方法中使用相同的Cipher对象,因为getInstance和init的方法参数不会改变?例如,假设应用程序的多个部分使用实用程序类中的decrypt方法。所有传递的加密值都是使用相同的key和算法生成的。那么,我可以重复使用相同的Cipher对象吗?Cipher的多次创建真的值得担心吗(这可能会导致创建KeySpec、SecretKey对象)? 最佳答案 是的。如文档所述:Uponfinishing,thismethodresetsthiscipherobjecttothestateitwasinwhenpreviou

java - 获取 javax.crypto.IllegalBlockSizeException : Input length must be multiple of 16 when decrypting with padded cipher?

使用tomcat,我有两个网络应用程序,即app1和app2。我以加密形式(使用以下代码)将app1的url发送到app2。然后在app2我解密了这个加密的网址。但是我在decryp方法的第50行遇到异常。"Gettingjavax.crypto.IllegalBlockSizeException:Inputlengthmustbemultipleof16whendecryptingwithpaddedcipher"虽然当我尝试解密(使用相同的代码)app1上的加密url时进行调试,但它工作正常。但无法弄清楚是什么原因导致app2发生此异常?这是代码importjava.securit

python - Rail Fence Cipher-寻找更好的解决方案

我用Python编写了RailFenceCipher。我想知道是否有更好的解决方案。对于那些不知道railfencecipher是什么的人来说,它基本上是一种以螺旋方式创建线性模式的方式编写纯文本的方法。示例-当“FOOBARBAZ”使用键3进行围栏时。F...A...Z....O.B.R.A.Q.X..O...B...U.逐行读取上面的螺旋,密文变成“FAZOBRAQXOBU”。阅读更多信息-Railfence-Wikipedia.defcipher(s,key,graph=False):down=Trueraw_out=[]out=''i=0forxinrange(key):raw

go - crypto/cipher-XORKeyStream 对 src []byte 做了什么?

我正在使用Go进行AES加密,我发现加密后源字节发生了变化。似乎XORKeyStream函数在cap(source)>len(source)时进行了更改,它对src[]byte到底做了什么?go版本go1.12.5darwin/amd64funcmain(){byte1:=[]byte("123abc")fmt.Println("content1:",byte1,"len1:",len(byte1),"cap1:",cap(byte1))//content1:[495051979899]len1:6cap1:6buf:=bytes.NewBuffer([]byte("123abc"))