PHP中Mcrypt加密字符串

PHP中Mcrypt

php
$key = "__Joyous__";// key
$iv = "23joyous";// IV
$input = "id=123";// 加密的字符串
$bit_check=8;//检验位
$str= encrypt($input,$key,$iv,$bit_check);
echo "原字符串: $input 
执行加密: $str
执行解密: "; echo decrypt($str,$key,$iv,$bit_check); function encrypt($text,$key,$iv,$bit_check) { $text_num =str_split($text,$bit_check); $text_num = $bit_check-strlen($text_num[count($text_num)-1]); for ($i=0;$i<$text_num; $i++) {$text = $text . chr($text_num);} $cipher = mcrypt_module_open(MCRYPT_TRIPLEDES,'','cbc',''); mcrypt_generic_init($cipher, $key, $iv); $decrypted = mcrypt_generic($cipher,$text); mcrypt_generic_deinit($cipher); $return = base64_encode($decrypted); $return = str_replace(array('=','/'),array('','') , $return);//替换部分字符串 return $return; } function decrypt($encrypted_text,$key,$iv,$bit_check){ $cipher = mcrypt_module_open(MCRYPT_TRIPLEDES,'','cbc',''); mcrypt_generic_init($cipher, $key, $iv); $decrypted = mdecrypt_generic($cipher,base64_decode($encrypted_text)); mcrypt_generic_deinit($cipher); $last_char=substr($decrypted,-1); for($i=0;$i<$bit_check-1; $i++){ if(chr($i)==$last_char){ $decrypted=substr($decrypted,0,strlen($decrypted)-$i); break; } } return $decrypted; } ?>

Python基础知识

print 打印语句
# 注释语句
print语句中带有变量可以把变量和字符串使用,隔开或者使用+进行连接
逗号会用空格分开两个变量,+会把两个变量作为一个整体输出
字符串使用格式化输出 formatter = “%r %r %r”然后使用print formatter % (a,b,c)
这里的格式参数和前面要一致,这样的字符串如果带有单引号那么会用双引号包裹打印出来
使用\n表示换行
使用”””和”””包括的大段文字作为一个整体输出,也可以使用三个单引号
使用name=raw_input()读取用户的输入,当然可以使用括号中带提示文字例如row_input(“输入”)

IOS开发错误集锦

1.真机调试错误提示:CopyPNGFile

CopyPNGFile /Users/iOS-Testing/Library/Developer/Xcode/DerivedData/study-anqeuncbpznsqmagwefeylmidvlb/Build/Products/Debug-iphoneos/Swipes.app/0.png Swipes/images/0.png

cd /Users/iOS-Testing/baipin/study/study/Swipes

setenv PATH “/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin”

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/copypng -compress “” /Users/iOS-Testing/baipin/study/study/Swipes/Swipes/images/0.png /Users/iOS-Testing/Library/Developer/Xcode/DerivedData/study-anqeuncbpznsqmagwefeylmidvlb/Build/Products/Debug-iphoneos/Swipes.app/0.png

解决办法:把工程中,Compress PNG files 设置为NO即可。

mac下mcrypt扩展解决

如果使用php自带的加密算法,其中需要这个mcrypt扩展,各种编译通不过。。后来干脆下在一个

点击下载mcrypt.so

然后修改

sudo vi /etc/php.ini

添加:(记住把你下载那个so放在这个目录里面!)

extension_dir=”/usr/lib/php/extensions/no-debug-non-zts-20090626/”
extension=mcrypt.so

然后重启apache即可

Xcode经典快捷键

前言:你切换Xcode窗口使用鼠标吗?还在为窗口打开关闭发愁吗?Joyous为你提供了一套特别有用的快捷键

1.右边属性窗口切换使用alt+command+1/2/3/4/5/6
2.右边属性栏目打开,关闭alt+command+0
3.左边文件导航栏目打开,关闭command+0
4.左边文件导航栏目选项使用command+1/2/3/4/5/6/7
5.bug窗口显示关闭使用shift+command+y
6.editor窗口切换
command+return显示show the standard editor
alt+command+return显示show the assistant editor
control+alt+command+return显示show the version editor

后记:有木有更新?有木有其他技巧?—有!

Objcetive-c基础知识

Foundation Kit基础知识

1.范围作用
NSRange
typedef struct _NSRange {
unsigned int location;
unsigned int length;
} NSRange;
使用:location是开始位置,length是元素个数;通常在字符串范围或者数组使用
创建NSRange
1.1)直接赋值给字段(range.location = 12,range.length=13)
1.2)使用聚合机制(range={4,5})
1.3)使用快捷函数(range=NSMakeRange(4,5))

2.几何数据类型
有NSPoint(点),NSSize(长和宽),NSRect(面),快捷方法有:NSMakePoint(),NSMakeSize(),NSMakeRect()

3.NSString字符串
3.1)创建字符串stringWithFormat
知识点:这里的方法是类方法,方法前面有+,方法属于类对象,那么这个方法就是工厂方法
3.2)字符串长度发方法length
3.3)字符串比较
isEqualToString是返回一个YES或者NO的BOOL值而compare返回是一个枚举值而且compare是逐个字母比较
hasPrefix:(NSString *)astring是判断字符串是否有astring开头,hasSuffix是否以astring结尾
3.4)NSstring可变字符串stringWithCapacity也是一个NSMutableString对象(这个类是NSString的子类,所以你可以使用他的很多方法)方法
常见的字符串操作方法有:appendString或者appendFormat附加字符串,删除字符串deleteCharactersInRange(从名字上就可以知道这个方法需要一个开始位置和一个长度,所以需要一个range参数)

Continue reading

经典笔试题目[算法篇]

php 
/**
 * 两个已经按照从大到小排序的数组,元素个数不确定
 * 仅使用一次循环,找出其中相等元素并输出(使用空格分开)
*/
$a = array(123,110,100,98,76,56,44,23,12);
$b = array(123,100,98,56,44,33,22,11);
$bNum = count($b);//计算b的个数
$aNum = count($a);//计算a的个数
$i = $j = 0;
while ($i < $aNum && $j < $bNum) {
   if ($a[$i] < $b[$j]) { 
       ++$j;    
    } else if ($a[$i] == $b[$j]) { 
       echo $a[$i]." ";        
       $i++;        
       $j++;    
    } else {        
        ++$i;    
    }  
} 
?>

方案二:

 $v) {
    if ($v == 2) {
        echo $k.' ';
    }
}
?>

算法,需要不停的积累,日复一日,年复一年!

Mac中gcc命令

默认安装的xcode不会安装命令行,所以需要自己安装!

具体路径为:Xcode –> Preferences –> Downloads 的Components下,选择安装Command Line Tools 即可

Mac下配置安卓开发环境

1.下载
android-sdk_r10-mac_x86 3.0.zip(原因是因为不能下载!!!所以只好下载这个,然后更新!!!需要的可以留言给我)
eclipse-java-juno-SR2-macosx-cocoa.tar.gz
jdk-7u17-macosx-x64.dmg

2.安装sdk目录要选好

3.配置环境变量(我实用的zsh,所以修改的是zhsrc文件,你用bashrc就修改对应文件即可!注意linux也是这样的)

export PATH=${PATH}:/Users/Baipin-iOS-Testing/baipin/android/androdiSdk/tools:/Users/Baipin-iOS-Testing/baipin/android/androdiSdk/platform-tools

source .zshrc 立即生效