第一款iOS应用 安全备忘录safeNotepad

总有一些非常重要的信息需要记录下来,

之前选择使用iPhone自带的记事本,非常实用, 该有的都有, 如添加,删除,编辑,查看,分享.但是有一点遗憾,不提供密码保护.后来就下载别人免费带有密码保护功能的记事本,不 过发现更加严重的问题, 这些程序都是要和他们的服务器同步的, 他们同时指出内容是加密的, 可我还是信不过, 因此自己开发了一个带密码保护的安全记事本, 功能和系统自带的一模一样, 除了加了密码保护, 你的内容被保存在你本地, 再也不会上传任何第三方的服务器了。

继续阅读

发表在 我的公司FoxAVideo | 25条评论

一款超级简单的视频转换器

发现一款界面超级简单,界面设计漂亮的视频转换器,

Fox视频格式转换器

界面就2个按钮,

Fox视频格式转换器主界面

上面一个转换单个的文件,下面的是批量转换。

继续阅读

发表在 我的公司FoxAVideo | 11条评论

FoxVideoEidtor终于完成了

专业的视频编辑软件。

历时将近半年的时间,终于完成了FoxVideoEditor,这其中的辛苦只有自己知道,无数次干到凌晨2点多,或者4点,有几次6点多,不过还得爬起来上班(要不然没钱吃饭啊)。现在正处最后的bug修复的安装包的制作上,等完成之后将会发布公司的官网上面,

www.foxavideo.com

继续阅读

发表在 我的公司FoxAVideo | 10条评论

iOS从后台线程(background thread)发送Notification到主线程(main thread)

我是iOS的菜鸟一枚,因此在开发的过程就是不断的尝试与摸索。我的问题是这样,我有个后台线程(这个线程是在一个静态库种创建),这个线程负责跟我们的服务器通信,由于负责通信的这个模块(代码)是要在3种平台共享 Windows, Android,Linux,iOS,因此就用c++写的。有人可能想为什么没用Java来写。因为iOS和Java交互起来没有跟C/C++来的那么自然舒畅。

继续阅读

发表在 Mac/Ios | 留下评论

Git添加本地忽略文件

之前博文中介绍过如何忽略某个文件,方法就是直接到工作的根目录下面创建一个 .gitignore

的文件,注意不要忘记那个点。

然后在这个文件中添加你要忽略的文件。

但是这个忽略文件是所有人共享的,因为你在commit和checkout都会提交或者下载这个文件。

继续阅读

发表在 Git | 留下评论

Git设置默认的push分支

Git缺省情况下并没有什么默认的推送的分支,如果你执行

$> git push

warning: push.default is unset; its implicit value is changing in
Git 2.0 from ‘matching’ to ‘simple’. To squelch this message
and maintain the current behavior after the default changes, use:

继续阅读

发表在 Git | 留下评论

数字签名的原理

数字签名的原理

转自:

http://www.ruanyifeng.com/blog/2011/08/what_is_a_digital_signature.html

今天,我读到一篇好文章

它用图片通俗易懂地解释了,"数字签名"(digital signature)和"数字证书"(digital certificate)到底是什么。

我对这些问题的理解,一直是模模糊糊的,很多细节搞不清楚。读完这篇文章后,发现思路一下子就理清了。为了加深记忆,我把文字和图片都翻译出来了。

继续阅读

发表在 网络安全 | 留下评论

非对称算法原理解析 – RSA 2

非对称算法原理解析 – RSA 2

非对称算法原理解析 – RSA 2

有了这些知识,我们就可以看懂RSA算法。这是目前地球上最重要的加密算法。

六、密钥生成的步骤

我们通过一个例子,来理解RSA算法。假设爱丽丝要与鲍勃进行加密通信,她该怎么生成公钥和私钥呢?

继续阅读

发表在 网络安全 | 留下评论

非对称算法原理解析 – RSA 1

rsa-1

非对称算法原理解析 – RSA 1

本文转载自:

阮一峰的网络日志

如果你问我,哪一种算法最重要?

我可能会回答"公钥加密算法"

因为它是计算机通信安全的基石,保证了加密数据不会被破解。你可以想象一下,信用卡交易被破解的后果。

继续阅读

发表在 网络安全 | 留下评论

非对称算法 RSA DH 还有ECDH

非对称算法 RSA DH 还有ECDH

  虽然对称算法的效率高,但是密钥的传输需要另外的信道。非对称算法RSA和DH可以解决密钥的传输问题(当然,它们的作用不限于此)。这两个算 法的名字都是来自于算法作者的缩写,希望有朝一日能够出现用中国人命名的加密算法。非对称算法的根本原理就是单向函数,f(a)=b,但是用b很难得到 a。   RSA算法   RSA算法是基于大数难于分解的原理。不但可以用于认证,也可以用于密钥传输。那么用户A和B如何利用RSA算法来传输密钥呢? 1:A产生一个密钥K,用B的公钥加密K,然后将得到的密文发送给B。 2:B用自己的私钥解密收到的密钥,就可以得到密钥。  (感谢网友的提醒,已经修改了) DH算法   DH算法的出现就是用来进行密钥传输的。DH算法是基于离散对数实现的。用户A和B如何利用RSA算法来传输密钥? 在通信前,用户A和B双方约定2个大整数n和g,其中1,这两个整数可以公开 1)   A随机产生一个大整数a,然后计算Ka=ga mod n。(a需要保密) 2)   B随机产生一个大整数b,然后计算Kb=gb mod n。(b需要保密) 3)   A把Ka发送给B,B把Kb发送给A 4)   A计算K=Kba mod n 5)   B计算K=Kab mod n 由于Kba mod n= (gb mod n)a mod n= (ga mod n)b mod n,因此可以保证双方得到的K是相同的,K即是共享的密钥。     ECDH算法 ECC 算法用途比RSA还猛,不仅可以加解密、签名验证。还可以与DH结合使用,用于密钥磋商,这个密钥交换算法称为ECDH。交换双方可以在不共享任何秘密的 情况下协商出一个密钥。ECC是建立在基于椭圆曲线的离散对数问题上的密码体制,给定椭圆曲线上的一个点P,一个整数k,求解Q=kP很容易;给定一个点 P、Q,知道Q=kP,求整数k确是一个难题。ECDH即建立在此数学难题之上。密钥磋商过程:

       假设密钥交换双方为Alice、Bob,其有共享曲线参数(椭圆曲线E、阶N、基点G)。

1) Alice生成随机整数a,计算A=a*G。Bob生成随机整数b,计算B=b*G。

2) Alice将A传递给Bob。A的传递可以公开,即攻击者可以获取A。由于椭圆曲线的离散对数问题是难题,所以攻击者不可以通过A、G计算出a。Bob将B传递给Alice。同理,B的传递可以公开。

继续阅读

发表在 网络安全 | 留下评论

python完成自动提交form的功能

python完成自动提交form的功能

记得刚毕业的那会儿,参加工作的第一家公司,每天下班都要通过内部系统(web)打卡的,当时觉得很麻烦所以就做了一个系统自动完成,但是使用c++调用IE访问打卡系统的网页,然后通过,鼠标移动到指定的坐标,然后在发送鼠标点击动作。这种方式很不灵活,因为一定不能让被调用IE失去焦点。也就是这个过程中电脑最好不要被动到。

今天发现了一个python的库,可以很轻松的完成这个功能,并且还能你解决我上面提到的这个问题。这个库的名字就是selenium,这个英文单词的意思是硒,是个化学元素的名字。

官方网站:

http://www.seleniumhq.org/

selenium支持的语言不只有python,还有

  • java
  • c#
  • Ruby
  • python
  • Javascript(Node)

可以在官方网站下载最新的版本,也可以使用pip提供的版本,如果使用pip提供的版本,那么先通过pip安装它

$ sudo pip install selenium

关于如何使用selenium,请参看

http://selenium-python.readthedocs.io/

下面是这个网站给出的一个简单的例子

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

driver = webdriver.Firefox()
driver.get("http://www.python.org")
assert "Python" in driver.title
elem = driver.find_element_by_name("q")
elem.clear()
elem.send_keys("pycon")
elem.send_keys(Keys.RETURN)
assert "No results found." not in driver.page_source
driver.close()

继续阅读

发表在 Python, Web | 留下评论

使Python程序的窗口不要显示出来

使Python程序的窗口不要显示出来

这个标题不是很贴切,一时半会儿想不到更好的,就先用这个。为了更好的说明这个标题要说的事情,这里我们举个例子吧,例如利用python和firefox来完成一个周期性检测一个订票系统,那么你要它一会儿调用firefox,一会儿关掉,如果这个电脑是你正在用,那么这种方式会让影响你,那么我们就想到把不要这个窗口显示出来,而是所有的工作都在后台进行。这个怎么做到呢?我们需要2个东西

  1.  Xvfb
  2.  pyvirtualdisplay

先安装他们:

$ sudo yum install -y Svfb

$ sudo pip install pyvirtualdisplay

接下面我们测试一下:

#!/usr/bin/env python

from pyvirtualdisplay import Display
from selenium import webdriver

display = Display(visible=0, size=(800, 600))
display.start()

# now Firefox will run in a virtual display. 
# you will not see the browser.
browser = webdriver.Firefox()
browser.get('http://www.google.com')
print browser.title
browser.quit()

display.stop()

继续阅读

发表在 Python, Web | 留下评论

I Do 吉他谱

I Do 吉他谱

Capo 4
  
   G              Bm                           Em
1. My whole world changed from the moment I met you
             C            G
And it would never be the same
                 Bm                   Em
Felt like I knew that I'd always love you
         C                   G
From the moment I heard your name.
              Bm                            Em
Everything was perfect, I knew this love is worth it
        C               G
Our own micracle in the makin'
              Bm
‘Til the world stops turning
                  Em                      C                  G
I'll still be here waiting and waiting to make that vow that I'll.


Chorus:
Em              Bm                  Em
I'll be by your side, ‘til the day I die
                    C              G
I'll be waiting ‘til hear you say I Do
                        Bm
Something old, something new
                              Em
Something borrowed, something blue
                     C               G
I'll be waiting ‘til I hear you say I Do.
   

    G            Bm                            Em
2. Smiles by the thousands, ya tears have all dried out
            C          G
‘Cos I won't see you cry again
                     Bm                               Em
Throw pennies in the fountain, and look at what comes out
          C              G
Sometimes wishes do come true.
              Bm                            Em
Everything was perfect, I knew this love is worth it
        C               G
Our own micracle in the makin'
              Bm
‘Til the world stops turning
                  Em                      C                  G
I'll still be here waiting and waiting to make that vow that I'll.


Chorus

Bridge:
                                              Em
Always better than worse, protect you from the hurt
                    C             G
I'll be waiting ‘til hear you say I Do
         Bm                 Em
I Do love you, yes I Do love you
                    C             G
I'll be waiting ‘til hear you say I Do
          Bm         Em
Coz I love you, love you.

Chorus

* We're shining lie a diamond, just look at us now

I wanna hear you say I Do.

继续阅读

发表在 音乐 | 留下评论