Skip to content

Instantly share code, notes, and snippets.

@snail007
snail007 / nodejs javascript aes cbc zeropadding 128 的实现
Created May 2, 2017 09:33
nodejs javascript aes cbc zeropadding 128 的实现,"加密密码"和"加密向量"使用了md5("密码")的前16位. 使用的类库是CryptoJS
nodejs的实现:
var CryptoJS = require("crypto-js");
var password="password123";
var key,iv;
key=iv=CryptoJS.enc.Utf8.parse(CryptoJS.MD5(password).toString().substring(0,16));
//加密
var encrypted = CryptoJS.AES.encrypt('123中文',key,{iv:iv,mode:CryptoJS.mode.CBC,padding:CryptoJS.pad.ZeroPadding});
console.log(encrypted.ciphertext.toString());
@snail007
snail007 / php aes cbc zeropadding 128 的实现
Last active May 2, 2017 09:34
php aes cbc zeropadding 128 的实现,原理是首先使用NoPadding然后自己对内容进行\0填充."加密密码"和"加密向量"使用了md5("密码")的前16位.
<?php
function openssl_aes_cbc_zeropadding_128_encrypt($msg, $key, $iv) {
$msgLength = strlen($msg);
$blockSize = 16;
if ($msgLength % $blockSize != 0) {
$msg .= str_repeat("\0", $blockSize - ($msgLength % $blockSize));
}
return bin2hex(openssl_encrypt($msg, 'AES-128-CBC', $key, OPENSSL_NO_PADDING, $iv));
}
@snail007
snail007 / java aes cbc zeropadding 128 的实现
Last active September 14, 2025 11:38
java aes cbc zeropadding 128 的实现,原理是首先使用NoPadding然后自己对内容进行\0填充."加密密码"和"加密向量"使用了md5("密码")的前16位.
import java.math.BigInteger;
import java.security.MessageDigest;
import javax.crypto.Cipher;
import javax.crypto.spec.IvParameterSpec;
import javax.crypto.spec.SecretKeySpec;
public class Test {
public static String encrypt(String data, String key, String iv) {
try {
@snail007
snail007 / gist:45a613b002dc87bd5f7a1e88aa5fc3ef
Created April 1, 2017 07:00
linux下virtualbox无法识别usb解决办法
1.需要安装VirtualBox Extension Pack,下载地址https://www.virtualbox.org/wiki/Downloads
2.添加当前用户到组,执行sudo usermod -a -G vboxusers $USER
3.重启linux系统
4.在虚拟机的usb里面启用usb2.0
5.启动虚拟机,然后查看右下角usb标签,就会发现识别了usb设备.
@snail007
snail007 / pyenv.txt
Created March 28, 2017 03:20
install pyenv in ubuntu
https://github.com/pyenv/pyenv-installer
@snail007
snail007 / enbale_rc-local.sh
Created March 27, 2017 05:45
enable rc.local in ubuntn 16 or higher
#/bin/bash
echo "#/bin/sh -e">/etc/rc.local
echo "#your commands at here ...">>/etc/rc.local
echo "exit 0">>/etc/rc.local
chmod +x /etc/rc.local
#/etc/systemd/system/rc-local.service
echo "[Unit]">/etc/systemd/system/rc-local.service
echo " Description=/etc/rc.local Compatibility">>/etc/systemd/system/rc-local.service
echo " ConditionPathExists=/etc/rc.local">>/etc/systemd/system/rc-local.service
echo "">>/etc/systemd/system/rc-local.service
@snail007
snail007 / install_zh_cn.sh
Last active March 27, 2017 05:37
init zh_cn in ubuntu server
#/bin/bash
apt-get install -y language-pack-zh-hans language-pack-zh-hant
#/etc/environment
echo "LANG=\"zh_CN.UTF-8\"">>/etc/environment
echo "LANGUAGE=\"zh_CN:zh:en_US:en\"">>/etc/environment
#/var/lib/locales/supported.d/local
echo "en_US.UTF-8 UTF-8">/var/lib/locales/supported.d/local
echo "zh_CN.UTF-8 UTF-8">>/var/lib/locales/supported.d/local
@snail007
snail007 / ubuntu_timezone_config
Created December 14, 2016 03:07
ubuntu时区设置
dpkg-reconfigure tzdata
@snail007
snail007 / gist:1b100dcb213fbfae535b204b6add676e
Created December 13, 2016 06:16
固定wlan设备的名称
在/etc/udev/rules.d/目录下找到70-persistent-net.rules这个文件(没有则新建),
在文件末尾添加
SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="b8:27:eb:d6:74:00", NAME="wlan0"
SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="f0:b4:29:36:07:26", NAME="wlan1"
将其中的ATTR换位你的硬件MAC地址
NAME就是设备名。
@snail007
snail007 / wpa_supplicant_eap
Created December 13, 2016 06:12
wpa_supplicant配置企业认证上网,用户名和密码登陆。
ctrl_interface=/var/run/wpa_supplicant
network={
ssid="xxxx"
key_mgmt=WPA-EAP
eap=PEAP
identity="username"
password="password"
phase2="MSCHAPV2"
}