小编Vla*_*mos的帖子

libvlc和dbus接口

我正在尝试使用libvlc创建一个基本的媒体播放器,它将通过dbus进行控制.我正在为python使用gtk和libvlc绑定.该代码基于vlc网站的官方示例

我修改的唯一方法是将dbus接口添加到vlc实例

# Create a single vlc.Instance() to be shared by (possible) multiple players.
instance = vlc.Instance()
print vlc.libvlc_add_intf(instance, "dbus"); // this is what i added. // returns 0 which is ok
Run Code Online (Sandbox Code Playgroud)

一切都很好,该演示工作并播放任何视频文件.但由于某种原因,dbus控制模块不起作用(我不敢相信我只是说可怕的"不起作用"的话):

我已经有了工作客户端dbus代码,它绑定到MPRIS 2接口.我可以控制一个VLC媒体播放器的正常实例 - 工作正常,但上面的例子没有任何反应.dbus控制模块正确加载,因为libvlc_add_intf没有返回错误,我可以在D-Feet(org.mpris.MediaPlayer2.vlc)中看到MPRIS 2服务.即使在D-Feet中,尝试调用dbus vlc对象的任何方法都不会返回错误但没有任何反应.

我是否需要配置其他内容才能使dbus模块控制libvlc播放器?

谢谢

UPDATE

似乎创建vlc实例并设置更高的详细程度,表明收到了DBus调用,但它们对播放器本身没有任何影响.此外,将RC接口添加到实例而不是DBus,也有一些问题:当我从命令行运行示例时,它将我放到RC接口控制台,我可以在其中键入控制命令,但它具有与DBus - 什么都没发生,没有错误,nada,绝对没有.它完全忽略了这些命令.

有什么想法吗?

更新2

以下是使用libvlc创建基本播放器的代码:

    from    dbus.mainloop.glib import DBusGMainLoop
    import gtk
    import  gobject


    import sys
    import vlc

    from gettext import gettext as _


    # Create a single vlc.Instance() to be shared by (possible) …
Run Code Online (Sandbox Code Playgroud)

python linux gtk dbus libvlc

7
推荐指数
1
解决办法
1345
查看次数

gtk 网络教程/资源/示例

现在有没有人可以找到一些关于 gtk/glib 网络的好的教程/代码示例。我正在尝试编写一个客户端应用程序,该应用程序连接到一个简单的服务器,该服务器使用 Gtk2 回显它接收到的内容,但我不知道如何去做。我想在不使用线程的情况下进行异步读/写,但我不确定什么是最好的方法。API 参考没有太大帮助 - GIOChannel、GIOStream、GSocketClient 等 - 使用哪一个?

回退是在另一个线程中使用阻塞 IO。

我对便携性不感兴趣。

“咆哮:GTk / GLib 开发人员如何期望人们在没有良好文档的情况下使用他们的框架?当我可以使用 QT 来做时,我为什么还要费心。我不想学习更多的 C,这就是我费心的原因!”

c linux gobject glib gtk2

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

MD5,密码哈希和盐位置

在我开始之前,我知道MD5受到了损害(碰撞攻击和散列速度)并且不应该用于哈希密码,但只是为了它,请耐心等待.

我的问题是:使用md5进行散列时的盐位置如何影响散列的"质量"或"强度"?

假设我有以下代码,使用他的电子邮件地址的一部分作为salt哈希用户密码:

<?php
    $email = 'user@emailservice.ex';
    $password = 'RandomPassWithChars';

    $segments = explode('@', $email);
    list($saltPart1, $saltPart2, $saltPart3) = $segments;

    $hash = md5($saltPart1.$password.$saltPart3.$saltPart2);
?>
Run Code Online (Sandbox Code Playgroud)

该代码是否会减慢蛮力/字典/彩虹表攻击,而不是说:

<?php
    $password = 'RandomPass';
    $salt     = 'RandomSaltStoredInTheDatabase';
    $hash = md5($password, $salt);
?>
Run Code Online (Sandbox Code Playgroud)

是否值得尝试像第一个代码中那样加密密码,或者它与第二个代码的结果相同?这有什么好处吗?第一个代码延迟破解密码列表是否比第二种方式更快?

这引出了第二个问题:在数据库中存储盐是否比从用户ID(例如电子邮件地址)获取盐更安全?我看到它的方式,一旦攻击者获得了数据库的副本,该数据库也保留了盐,这使他的生活变得有点轻松,试图破解哈希.但是如果没有储存盐,攻击者也需要创造盐的算法.如果我错了,请纠正我.

我希望我清楚自己.感谢您提前得到任何答案.

php hash md5 salt

2
推荐指数
1
解决办法
1490
查看次数

标签 统计

linux ×2

c ×1

dbus ×1

glib ×1

gobject ×1

gtk ×1

gtk2 ×1

hash ×1

libvlc ×1

md5 ×1

php ×1

python ×1

salt ×1