草庐IT

encrypt_msg

全部标签

iphone - 在 MySQL 中的何处存储 AES_ENCRYPT 的 key ?

我为iPhone/iPodTouch开发了一个应用程序,它必须能够访问MySQL数据库。我写了一个PHPAPI,我可以从iPhone应用程序调用它。在数据库中我存储了我想要加密的敏感数据。我想我会使用AES_ENCRYPT。我的问题是在哪里存储key。如果您知道在哪里存储用于加密/解密的key,这样任何其他人都看不到它,那就太好了,例如黑客。 最佳答案 一般来说:不要将您的key保存在网络服务器可以直接访问的服务器部分。例如,如果您的站点位于/var/www/home中,请不要将您的key放在那里。将它放在树的Web服务器部分之外的

php - 使用 AES_ENCRYPT 时 Mysqli 准备语句出现问题

我正在尝试对MySQL执行简单的插入操作。我正在使用准备好的语句使用mysqli。下面是代码:$sql_query="UPDATE$tableSET$name=AES_ENCRYPT(?,'$key')WHERE$id_name='$_SESSION[$id_name]'";$stmt=$mysqli->prepare($sql_query);$stmt->bind_param('b',$value);$stmt->execute();是的,我在代码的前面声明了$mysqli与mySQL数据库服务器的连接。$key也在脚本的前面声明。以下是调用此代码时mySQL通用日志文件的输出:12

mysql - aes_encrypt 插入表

我的查询不工作INSERTINTOrebuilder(id_utente,pwd)VALUES('75693',AES_ENCRYPT('password','set'))我没有错误,但数据库表中的pwd值为NULL。想法?发件人斯蒂芬妮娅 最佳答案 参见SQLFIDDLEcreatetablerebuilder(id_utenteint,pwdvarbinary(200));--datainsertintorebuilder(id_utente,pwd)values(75693,aes_encrypt('password','se

php - 相当于 MySQL 的 hex(aes_encrypt)

在mySql中,hex(AES_ENCRYPT('mytext','mykeystring'))。这给了我一个带有字符的字符串,而不是一些不可读的东西。我怎样才能在php中做这样的事情?是否有内置函数可以让我这样做?就像mySql有hex和aes_encrypt和password/salt。我不是在php中寻找精确的aes加密。任何返回一串字母和数字并且不容易破解的东西都可以(有盐) 最佳答案 PHP等价物是://MySQL'sAES_ENCRYPTusesRijndael128withECBmode$enc_text=mcrypt

PHP/MySQL : What data type to chose for encrypted passwords (bcrypt, 最大。 100 个字符)

我使用以下方法在将密码存储到MySQL数据库之前对其进行加密。目前我已将密码的长度限制为最大。20个字符,因为我不确定更长的密码是否会由于加密输出而导致此处出现问题。在PHP中,我使用以下内容进行加密:$pw=password_hash($_POST["pw"],PASSWORD_BCRYPT);密码在传递之前正在客户端进行修整。谁能告诉我CHAR(60)是否足以覆盖最多100个字符(数字、大写和小写字母,特殊字符)?此外,是否有一个共同的最大值。应该为密码设置的字符限制-不会增加漏洞?我了解到有些人肯定想使用更长的密码,例如短语等。 最佳答案

mysql - AWS : Using a KMS-encrypted master password to create a RDS instance

通过awscli工具在AWS上创建新的RDS实例时,是否可以使用使用AWSKMSkey加密的主密码?例如。使用此命令:http://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html我问是因为我不想在我的开发环境中存储明文密码(使用terraform或云形成),而是存储由相应的AWS组件透明解密的加密值。 最佳答案 如果您想使用CLI执行此操作,您始终可以使用KMSkey加密密码,然后运行两个命令来解密密码并创建数据库。所以这样的事情可能会起作用:

mysql - 为什么 MySQL 的 ENCRYPT 在每次调用时返回不同的结果?

我有一个uglyserverissue,我尽量不忽略这方面的任何细节。我的虚拟电子邮件用户的密码存储在MySQL的ENCRYPT中。功能。我的基本想法是从旧机器上转储我的虚拟用户表,然后将其导入新机器。只是为了仔细检查,我再次尝试用ENCRYPT存储一个字符串,但存储的数据不同。这是否意味着我不能像我想的那样简单地导出/导入我的用户? 最佳答案 Datajam已经描述的是正确的。这里有一些进一步的解释。如果您不向ENCRYPT()函数提供盐,则会生成一个随机盐并用于加密字符串。盐只是两个字节/字符。首先,我将演示如果我使用相同的字符

MySQL aes_encrypt 填充方案?

有人知道mysql对其aes_encrypt使用什么填充方案吗?我进行了大量的谷歌搜索,但我发现的只是“字节填充”。但这太笼统了!谢谢 最佳答案 数据填充是根据RFC3369/PKCS#5完成的。键是零填充的。不幸的是,这些都没有记录,但我从这个错误报告中得到了信息:http://bugs.mysql.com/bug.php?id=16713 关于MySQLaes_encrypt填充方案?,我们在StackOverflow上找到一个类似的问题: https:/

mysql - ProFTPD 如何读取使用 MySQL ENCRYPT() 函数加密的密码?

我已经设置了ProFTPD,以便它使用mod_sql_mysql后端。在我将用户插入SQL数据库之前,一切正常。为此,我使用了以下查询:INSERTINTO`auth`.`users`(`userid`,`passwd`,`uid`,`gid`,`homedir`,`shell`)VALUES('username',ENCRYPT('bluefish'),'999','999','/dev/zero','/bin/laden');我可以很好地登录我的帐户,但我真的不明白ProFTPD如何读取加密密码“bluefish”,因为如果没有提供盐,MySQL会使用随机盐。每次ProFTPD使用

用于加密/解密的 Java 函数,如 Mysql 的 AES_ENCRYPT 和 AES_DECRYPT

有什么办法可以得到和MySQL一样的结果SELECTAES_ENCRYPT("text","key")使用Java函数?如果可能的话,模拟AES_DECRYPT的另一个函数是什么。 最佳答案 如果需要JAVA算法解密的代码在这里publicstaticStringaes_decrypt(Stringpasswordhex,StringstrKey)throwsException{try{byte[]keyBytes=Arrays.copyOf(strKey.getBytes("ASCII"),16);SecretKeykey=new