我想在C#中使用以下加密方法.但我不知道它是否可用以及如何使用它.因为我对web更加熟悉:'(.任务是我必须解密在桌面应用程序中加密的用户密码.(用C#编写)并作为json对象发送.使用我的php脚本我必须解码json对象并解密密码.Plz帮助.如果这是不可实现的,请告诉我一个使用的解决方案.
我想在C#中使用这段代码
$key = '12345bcde';
$password = 'myPass@1001';
$encrypted = base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, md5($key), $password, MCRYPT_MODE_CBC, md5(md5($key))));
Run Code Online (Sandbox Code Playgroud)
我拥有: 我在SD卡上有一些图像,被发送到PHP服务器.
我想要的是: 我想在发送到服务器之前加密这些图像.每个应用程序用户都会有一个唯一的密钥,用于Android Side的加密和PHP服务器端的解密.
请指导我如何进行此加密,以及如何将这些加密图像发送到服务器.我可以将简单的图像发送到服务器(使用multipart等).但是加密然后将图像发送到服务器的方法应该是什么?
我需要将下面的C#代码翻译成Java,但是,我找不到任何与C#的Rfc2898DerivedBytes和Rijndael相当的Java.
private static string Encrypt(string sData, string sEncryptionKey)
{
string str = null;
string str2;
try
{
Rfc2898DeriveBytes bytes = new Rfc2898DeriveBytes(sEncryptionKey, 8);
Rijndael rijndael = Rijndael.Create();
rijndael.IV = bytes.GetBytes(rijndael.BlockSize / 8);
rijndael.Key = bytes.GetBytes(rijndael.KeySize / 8);
byte[] buffer = Encoding.Unicode.GetBytes(sData);
using (MemoryStream stream = new MemoryStream())
{
using (CryptoStream stream2 = new CryptoStream(stream, rijndael.CreateEncryptor(), CryptoStreamMode.Write))
{
stream.Write(bytes.Salt, 0, bytes.Salt.Length);
stream2.Write(buffer, 0, buffer.Length);
stream2.Close();
str = Convert.ToBase64String(stream.ToArray());
str2 = str;
}
}
}
catch (Exception exception)
{
System.out.println(exception.getMessage());
}
return …Run Code Online (Sandbox Code Playgroud) 根据我的理解,在安全SSL通信之前,在双方之间建立对称密钥.现在,如果SSL会话涉及不安全的无线接入点,攻击者是否有可能嗅到无线电波并获取已建立的密钥?
10月2日,NIST认定SHA-3是新的标准哈希算法.
MD5用户应该开始迁移到SHA-3吗?对于别的东西(见下面为什么不建议使用SHA-3)?bcrypt?
为什么不{MD5,SHA1,SHA256,SHA512,SHA-3等}?
而且,这真的很重要吗?即使你的密码被盐渍了?
我不能让Perl和Ruby同意CBC AES:
Perl的
use Crypt::CBC;
use MIME::Base64::Perl;
my $cipher = Crypt::CBC->new(
-key => 'd2cb415e067c7b13',
-iv => 'e36dc751d0433f05', #random 16chars!!!!!! shold NOT repeat between requests
-cipher => 'OpenSSL::AES', #this is same as Rijndael
-literal_key => 1,
-header => "none",
-keysize => 16
);
$encypted = $cipher->encrypt("a really really long long text has differrent results???");
$base64 = encode_base64($encypted);
print("Ciphertext(b64): $base64");
$de_base64 = decode_base64($base64);
$decrypted = $cipher->decrypt($de_base64);
$c = $cipher->finish;
Run Code Online (Sandbox Code Playgroud)
密文(b64):qz4eSQaFkQUkDOyJSbZf5W03HoldwtgvTLq0yJFRViKJnytf3PVSCGW2CYDjO + tRqV20oxeB2VPa 7NqN1TDSNQ ==
在该2VPa部分后面有一个换行符,在结尾处有另一个换行符
红宝石
require 'openssl'
require 'digest/sha2' …Run Code Online (Sandbox Code Playgroud) 我使用了这个加密纯文本的简单代码.然后我尝试使用相同的加密方法解密它,但在加密部分反转.有一个乘法过程,我不知道如何在解密代码中反转它.
这是代码:
procedure TForm1.Button1Click(Sender: TObject);
var
s: String;
count, ilength: Integer;
begin
s := edit1.Text;
ilength := Length(s);
FOR count := 1 to ilength do
begin
s[count] := chr(ord(s[count]) * 4 + 1); // Encoding
end;
Label1.caption := s;
// Display encoded text
// Decoding section
// This will probably be placed in another procedure.
FOR count := 1 to ilength do
begin
s[count] := chr(ord((s[count]) / 4) - 1);
// Here I Get An Error ! Please Help Guys, …Run Code Online (Sandbox Code Playgroud) 任何人都可以建议我加密数据的算法.加密数据不应与原始数据相同,但应具有一定含义.例如,如果我加密"hi"它可以显示"什么"
我用过
md5(sha1(rand()))
Run Code Online (Sandbox Code Playgroud)
这将给我2级加密和输出哈希与32长度像
cbc7a20f14eab9262efe0adb21074d0a
但我怎么能让哈希长度为255(例如)?