小编Run*_*ion的帖子

如何使用PHP连接到db4free.net数据库?

我在db4free.net上创建了一个db,我想用php连接它:

$username = myusername; 
$password = mypw; 
$host = "db4free.net:3306"; 
$dbname = mydbname; 

$options = array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'); 

try 
{ 
    $db = new PDO("mysql:host={$host};dbname={$dbname};charset=utf8", $username, $password, $options); 
} 
catch(PDOException $ex) 
{ 
    die("Failed to connect to the database: " . $ex->getMessage()); 
} 
Run Code Online (Sandbox Code Playgroud)

我收到此错误消息:无法连接到数据库:SQLSTATE [HY000] [2005]未知的MySQL服务器主机

所以我在想,主机名是错的,所以我试着改变它(添加/ dbname或/ username或删除端口,等等).我已经尝试了所有的组合,但没有一个有效.多次检查登录数据.可能是什么问题呢?

php database

9
推荐指数
3
解决办法
2万
查看次数

在Java中使用盐与PHP完全相同的哈希?(SHA-256)

我可以用PHP在PHP中哈希:

$orig_pw = "abcd";
$salt = 5f8f041b75042e56;
$password = hash('sha256', $orig_pw . $salt);
Run Code Online (Sandbox Code Playgroud)

(这不是我实现它的方式,这只是一个例子.盐对每个人都不同)

有了这个,存储的密码是:

bc20a09bc9b3d3e1fecf0ed5742769726c93573d4133dbd91e2d309155fa9929
Run Code Online (Sandbox Code Playgroud)

但是如果我尝试在Java中做同样的事情,我会得到不同的结果.我试过了String password = "abcd";

byte[] salt = hexStringToByteArray("5f8f041b75042e56");

try {
    System.out.println(new String(getHash(password, salt)));
} catch (NoSuchAlgorithmException e1) {
    e1.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)

这两种方法:

public byte[] getHash(String password, byte[] salt) throws NoSuchAlgorithmException {
        MessageDigest digest = MessageDigest.getInstance("SHA-256");
        digest.reset();
        digest.update(salt);
        try {
            return digest.digest(password.getBytes("UTF-8"));
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }
        return null;
    }


public byte[] hexStringToByteArray(String s) {
        int len = s.length();
        byte[] data = new …
Run Code Online (Sandbox Code Playgroud)

php java sha256

4
推荐指数
1
解决办法
5435
查看次数

标签 统计

php ×2

database ×1

java ×1

sha256 ×1