我的应用程序将获取一组文件并签名。 (我不想签署一个程序集。)有一个.p12文件,我从中获取私钥。 这是我试图使用的代码,但我得到一个System.Security.Cryptography.CryptographicException "Invalid algorithm specified." 。 X509Certificate pXCert = new X509Certificate2(@"keyStore.p12", "password"); RSACryptoServiceProvider csp = (RSACryptoServiceProvider)pXCert.PrivateKey; string id = CryptoConfig.MapNameToOID("SHA256"); return csp.SignData(File.ReadAllBytes(filePath), id); 根据这个答案它不能做( RSACryptoServiceProvider不支持SHA-256),但我希望可能使用不同的库,如Bouncy城堡。 我是新来的这个东西,我发现Bouncy Castle很混乱。 我将一个Java应用程序移植到C#,并且我必须使用相同types的encryption来签署这些文件,所以我被卡在RSA + SHA256中。 我如何使用Bouncy Castle,OpenSSL.NET,Security.Cryptography或其他第三方库,我还没有听说过? 我假设,如果可以在Java中完成,那么它可以在C#中完成。 更新: 这是我从poupou的anwser链接中得到的 X509Certificate2 cert = new X509Certificate2(KeyStoreFile, password"); RSACryptoServiceProvider rsacsp = (RSACryptoServiceProvider)cert.PrivateKey; CspParameters cspParam = new CspParameters(); cspParam.KeyContainerName = rsacsp.CspKeyContainerInfo.KeyContainerName; cspParam.KeyNumber […]
如何计算目标C中的MD5?
我最近遇到一个系统,所有的数据库连接都是以各种方式遮蔽的例程来pipe理的,包括base64编码,md5sums和其他各种技术。 这只是我,还是这个矫枉过正? 有什么select?
我有一个硬编码的密钥,我想先encryption一个string,然后将其存储在SharedPreferences 。 这是迄今为止的代码: public class TokenEncryptor { private final static String TOKEN_KEY = "91a29fa7w46d8x41"; public static String encrypt(String plain) { try { Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding"); AlgorithmParameterSpec ivSpec = new IvParameterSpec(new byte[16]); SecretKeySpec newKey = new SecretKeySpec(TOKEN_KEY.getBytes(), "AES"); cipher.init(Cipher.ENCRYPT_MODE, newKey, ivSpec); return new String(cipher.doFinal(plain.getBytes())); } catch (Exception e) { Ln.e(e); return null; } } public […]
Android使用SQLite数据库来存储数据,我需要encryptionSQLite数据库,这怎么办呢? 我了解,应用程序数据是私人的。 不过,我需要明确地encryption我的应用程序正在使用的SQLite数据库。
当通过HTTPS发送数据时,我知道内容是encryption的,但是我听到关于头文件是否被encryption或头文件被encryption多less的混合答案。 多less个HTTPS标头被encryption? 包括GET / POST请求URL,Cookies等
我正在使用下面通常引用的库进行encryption。 我想从Mcrypt升级到OpenSSL,这样我不再使用废弃的库。 我试图找出这是甚至可能的。 我已经做了一些研究,但是我发现有矛盾的信息: 这篇文章说,使用Mcryptencryption的OpenSSL来解密数据是不可能的。 https://stackoverflow.com/a/19748494/5834657 不过,这个post说可以使用填充。 看来,我的function使用填充。 这是需要使这项工作的正确types的填充? https://stackoverflow.com/a/31614770/5834657 <?php namespace Utilities\Encryption; /** * A class to handle secure encryption and decryption of arbitrary data * * Note that this is not just straight encryption. It also has a few other * features in it to make the encrypted data far more secure. Note […]
有没有一个很好的例子,如何在Android上使用AES encryption/解密 Image和其他文件? 我正在做一个项目,需要encryption/解密数据,但我不知道如何去做。
又一个晚上,另一个问题! 我创build了一个login页面,如果密码是纯文本,那么这个页面就可以正常工作。 我的问题是,我的registry单使用password_hashinput一个encryption的密码到表中。 我目前的脚本如下。 注册脚本 $password = password_hash($_POST['password'], PASSWORD_DEFAULT); login脚本 <?php session_start(); if(isset($_POST['email'], $_POST['password'])){ require('../../../private_html/db_connection/connection.php'); $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password); $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $query = $conn->prepare("SELECT * FROM user_accounts WHERE email=:email AND password=:password"); $query->bindParam(':email', $_POST['email']); $query->bindParam(':password', $_POST['password']); $query->execute(); if($row = $query->fetch()){ $_SESSION['email'] = $row['email']; $_SESSION['first_name'] = $row['first_name']; header("Location: ../../myaccount/myaccount.php"); } else {header("Location:../../login/login.php ");} } ?> […]
我需要的是encryption将出现在二维条码(PDF-417)中的string,所以当有人得到一个想法来扫描它将无法读取。 其他需求: 不应该是复杂的 它不应该由RSA,PKI基础设施,密钥对等组成。 它必须足够简单,以摆脱周围的人窥探,并容易解密为有兴趣获得该数据的其他公司。 他们给我们打电话,告诉他们标准或给他们一些简单的密钥,然后可以用来解密。 可能这些公司可能会使用不同的技术,所以坚持一些与特定平台或技术无关的标准是很好的。 你有什么build议? 有没有一些Java类encryption()解密()没有太多复杂的实现高安全标准?