sha256双向加密吗

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sha256双向加密吗相关的知识,希望对你有一定的参考价值。

参考技术A 数字签名、信息加密 是前后端开发都经常需要使用到的技术,应用场景包括了用户登入、交易、信息通讯、oauth 等等,不同的应用场景也会需要使用到不同的签名加密算法,或者需要搭配不一样的 签名加密算法 来达到业务目标。这里简单的给大家介绍几种常见的签名加密算法和一些典型场景下的应用。

正文

1. 数字签名

数字签名,简单来说就是通过提供 可鉴别 的 数字信息 验证 自身身份 的一种方式。一套 数字签名 通常定义两种 互补 的运算,一个用于 签名,另一个用于 验证。分别由 发送者 持有能够 代表自己身份 的 私钥 (私钥不可泄露),由 接受者 持有与私钥对应的 公钥 ,能够在 接受 到来自发送者信息时用于 验证 其身份。

PHP双向加密[重复]

【中文标题】PHP双向加密[重复]【英文标题】:PHP two way crypting [duplicate] 【发布时间】:2012-03-15 04:36:02 【问题描述】:

可能重复:Best way to use PHP to encrypt and decrypt?

我是 PHP 中双向加密技术的新手。我曾使用 sha512 作为单向哈希,但现在我真的需要双向加密。我不知道从哪里开始。你能告诉我为了最安全我必须使用哪种方法吗?你能给我一个简单的“hello world”例子吗?

已编辑

感谢您的所有回答,我发现 mCrypt 是解决我问题的关键,但我可以使用很多方法,例如 MCRYPT_3DES、MCRYPT_CAST_128、MCRYPT_CAST_256.... 那该用什么?

【问题讨论】:

尝试搜索。有很多关于如何使用 PHP 进行加密的信息。 Here On SO, On PHP.Net, Another On SO sha512 是一种加密系统,我在 PHP 中使用,我用谷歌搜索过,但是 mCrypt 是否默认安装在服务器中? mCrypt 方法中哪种方法最安全? @user1228636:不,不是。这是一个加密哈希函数。请参阅this answer 了解更多信息 我可以在 mCrypt 中使用多种方法,你能给我推荐一种最安全的方法吗? 【参考方案1】:

您可以尝试使用 openssl 函数来满足您的需求:openssl_public_encrypt 和 openssl_private_decrypt。

要使用它们,您必须自己生成一个 RSA 公钥/私钥对。

【讨论】:

谢谢你的回答,但你能不能再推荐一两个方法,让你有选择的机会【参考方案2】:

不要将散列与加密混为一谈。

您可以使用mcrypt-expansion,它有据可查,他们有一些很好的例子,比如这个:

 $key = "this is a secret key";
 $input = "This is a top secrep message.";

 $td = mcrypt_module_open('tripledes', '', 'ecb', '');
 $iv = mcrypt_create_iv (mcrypt_enc_get_iv_size($td), MCRYPT_RAND);
 mcrypt_generic_init($td, $key, $iv);
 $encrypted_data = mcrypt_generic($td, $input);
 mcrypt_generic_deinit($td);
 mcrypt_module_close($td);

还有很多其他方法,openssl 就是其中之一。

【讨论】:

我可以使用很多方法,例如 MCRYPT_3DES、MCRYPT_CAST_128、MCRYPT_CAST_256.... 那该用什么呢? 随心所欲。该库支持一些算法,请参阅此处了解更多详细信息:mcrypt.hellug.gr/#_mcrypt。目前它似乎支持 BLOWFISH、TWOFISH、DES、TripleDES、3-WAY、SAFER、LOKI97、GOST、RC2、MARS、RIJNDAEL、SERPENT、CAST、ARCFOUR 和 WAKE。我不是该主题的专家,所以我不确定哪个比其他更安全(我建议不要使用 DES)。【参考方案3】:

你可以使用 PHP 自带的 mcrypt

这是 Mcrypt 的 PHP Manual(手动总是最好的开始)

既然您要求使用简单的 hello-world 类型。看看这里link。

【讨论】:

是的,有关于 mCrypt 的手册,但是对于 mCrypt,我认为,我可以使用很多方法,例如 MCRYPT_3DES、MCRYPT_CAST_128、MCRYPT_CAST_256.... 那该用什么呢?

以上是关于sha256双向加密吗的主要内容,如果未能解决你的问题,请参考以下文章

sas如何对数据进行sha256加密

AES128_CBC_NoPading加密、sha256withRSA签名

sha256可以解密吗

“sha256_password 或caching_sha2_password 需要加密”

分享python mds,sha256加密算法,c#对应sha256加密算法

SHA-256 有多少种组合?