2018-06-23 15:27:16 DinnerHowe 阅读数 4680

个人比较喜欢gedit,在从ubuntu转到MAC以后尝试安装了一下。以下是安装步骤:
1. 去官网下载DMG包https://gedit.en.softonic.com/mac,官方DMG的版本是2.30.2,gedit-2.30.2.dmg
2. 下载完毕以后安装。

  1. 如果喜欢已命令行方式执行可以使用以下方法:

    a. 跳转到根目录

    cd ~

    b. 打开环境配置文件 ,如果没有该文件先执行

    touch .bash_profile
    open -e .bash_profile

    c. 看到编辑窗口以后在其中加入如下行

    alias gedit="sudo open -a gedit"

    d. 更新环境配置文件

    source .bash_profile

    f. 完成以后即可以在命令行中使用 如:

    gedit a.txt

PS:

  1. 如果source .bash_profile以后无法在命令行中执行gedit请尝试注销用户再登入,或者重启机器。

  2. 如果出现打不开“gedit”,因为它来自身份不明的开发者。的问题:参考https://jingyan.baidu.com/article/f71d60377960651ab741d140.html

2016-11-18 02:15:29 killerpro 阅读数 1133
/Users/sandwich brew install --HEAD --with-bluray-support --with-libdvdread --with-little-cms2 --with-lua --with-bundle mpv
==> Using the sandbox
==> Cloning https://github.com/mpv-player/mpv.git
Updating /Users/sandwich/Library/Caches/Homebrew/mpv--git
==> Checking out branch master
==> ./bootstrap.py
==> python3 waf configure --prefix=/usr/local/Cellar/mpv/HEAD-6250007_2 --enable
==> python3 waf install
==> python3 TOOLS/osxbundle.py build/mpv
==> Caveats
zsh completion has been installed to:
  /usr/local/share/zsh/site-functions

.app bundles were installed.
Run `brew linkapps mpv` to symlink these to /Applications.
==> Summary
 /usr/local/Cellar/mpv/HEAD-6250007_2: 59 files, 31.5M, built in 56 seconds
/Users/sandwich brew linkapps mpv
Linking: /usr/local/opt/mpv/mpv.app
Linked 1 app to /Applications

安装参考:
http://bbs.feng.com/read-htm-tid-9633783-page-1.html
https://github.com/mrcotter/mrcotter_dotfiles

2017-08-04 12:45:15 Inke88 阅读数 5831

Mac 使用 80 端口

更新日志:
20170807 更新mac使用80端口的错误问题。

  • [ ] 方案一:
    Mac OS X 因为要绑定80端口需要ROOT权限, 但是如果用root权限启动eclipse或tomcat又会造成, 启动创建的各类文件是root的,普通用户无法删除,放弃

  • [x] 方案二:
    通过pfctl做网络层的端口转发, 让连接到本机80端口的请求,都转发到8080端口;采纳

注意, Mac OS 会使用80端口做网络文件共享,要先关闭掉。

一、修改/etc/pf.conf

先对pf.conf进行备份:

sudo cp /etc/pf.conf /etc/pf.conf.normal.bak

之后在该文件中以下行:

sudo vim /etc/pf.conf

rdr-anchor "com.apple/*"
后面添加一行配置,如下:

rdr on lo0 inet proto tcp from any to 127.0.0.1 port 80 -> 127.0.0.1 port 8080

注意:lo0 通过ifconfig 看自己那个设备绑定的是127.0.0.1, lo0是这个网络设备的名字,一般大家都是lo0。如图:

二、依次执行以下命令:

sudo pfctl -d
sudo pfctl -f /etc/pf.conf  
sudo pfctl -e 

注意:如果有apache等服务器占用了80端口,则需要将其停掉方能成功!

如果出现

No ALTQ support in kernel
ALTQ related functions disabled
pfctl: pf not enabled

忽略即可。



问题一:getsockopt: connection refused

2017/08/07 18:47:52 [E] [proxy.go:332] [sell] connect to local service [127.0.0.1:80] error: dial tcp 127.0.0.1:80: getsockopt: connection refused

上面我们配置pfctl转发到8080端口,当时有效,但因为重启电脑后,pfctl的配置又变回之前了,需要配置在开机启动的配置文件中。
注:开机启动需要编辑文件 /System/Library/LaunchDaemons/com.apple.pfctl.plist

<string>pfctl</string>
<string>-e</string>
<string>-f</string>
<string>/etc/pf.conf</string>

10.11以上系统因为增强了安全模式,导致/System/Library/LaunchDaemons/com.apple.pfctl.plist修改失败,请重启至安全模式在进行操作。

参考自:
https://toutiao.io/posts/d7ljnp/preview
http://blog.csdn.net/thc1987/article/details/53606603
http://blog.csdn.net/ilovesmj/article/details/51549119
http://www.cnblogs.com/fullstack-yang/p/6223960.html

2014-11-14 17:10:39 dzy784858512 阅读数 9364
MAC域(128域)为按照DES算法计算MAC得到的8字节二进制数据的前半部分(4字节二进制数),表示成16进制字符串形式(8个16进制字符)。具体如下:
参与报文校验码(MAC)的数据由三部分产生:初始数据,原始数据,补位数据。
MAC算法如下:
1)算法定义:采用DES CBC算法。
2)初始数据:0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00。
3)原始数据:

4)补位数据:若原始数据不是8的倍数,则右补齐0x00。若原始数据为8的整数倍,则不用不起0X00。

5)密    钥:MAC密钥。
MAC的产生由以下方式完成:(最后一组数据长度若不足8的倍数,则右补齐0x00;若数据长度为8的整数倍,则无需补充0x00)。
MAC签名计算流程图:


MAC加密与C兼容的JAVA代码

import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
import java.security.SecureRandom;
import java.security.spec.InvalidKeySpecException;


import javax.crypto.BadPaddingException;
import javax.crypto.Cipher;
import javax.crypto.IllegalBlockSizeException;
import javax.crypto.NoSuchPaddingException;
import javax.crypto.SecretKey;
import javax.crypto.SecretKeyFactory;
import javax.crypto.spec.DESKeySpec;


public class MacEcbUtils {


private final static String DES = "DES";
private final static String CIPHER_ALGORITHM = "DES/ECB/NoPadding";


/**
* 加密

* @param src
*            数据源
* @param key
*            密钥,长度必须是8的倍数
* @return 返回加密后的数据
* @throws DesException
*/
public byte[] encrypt(byte[] src, byte[] key) {
// DES算法要求有一个可信任的随机数源
SecureRandom sr = new SecureRandom();
try {
// 从原始密匙数据创建DESKeySpec对象
DESKeySpec dks = new DESKeySpec(key);
// 创建一个密匙工厂,然后用它把DESKeySpec转换成
// 一个SecretKey对象
SecretKeyFactory keyFactory = SecretKeyFactory.getInstance(DES);
SecretKey securekey = keyFactory.generateSecret(dks);
// Cipher对象实际完成加密操作,NoPadding为填充方式 默认为PKCS5Padding
Cipher cipher = Cipher.getInstance(CIPHER_ALGORITHM);
// 用密匙初始化Cipher对象
cipher.init(Cipher.ENCRYPT_MODE, securekey, sr);
// 现在,获取数据并加密
// 正式执行加密操作
return cipher.doFinal(src);
} catch (NoSuchAlgorithmException e) {
// LOG.error("算数错误", e);
} catch (InvalidKeyException e) {
// LOG.error("无效key错误", e);
} catch (InvalidKeySpecException e) {
// LOG.error("无效key戳无", e);
} catch (NoSuchPaddingException e) {
// LOG.error("填充错误", e);
} catch (IllegalBlockSizeException e) {
// LOG.error("非法数据块", e);
} catch (BadPaddingException e) {
// LOG.error("错误的填充", e);
}
return null;
}


/**
* mac计算,数据不为8的倍数,需要补0,将数据8个字节进行异或,再将异或的结果与下一个8个字节异或,一直到最后,将异或后的数据进行DES计算

* @param key
* @param Input
* @return
*/
public byte[] clacMac(byte[] key, byte[] data) {


byte[] IV = new byte[8];


for (int i = 0; i < data.length;) {
IV[i & 7] ^= data[i];
++i;
if (((i % 8) == 0) || (i == data.length)) {
IV = encrypt(IV, key);
}
}


return IV;
}


public String bytesToHexString(byte[] bArray) {
StringBuffer sb = new StringBuffer(bArray.length);
String sTemp;
for (int i = 0; i < bArray.length; i++) {
sTemp = Integer.toHexString(0xFF & bArray[i]);
if (sTemp.length() < 2)
sb.append(0);
sb.append(sTemp.toUpperCase());
}
return sb.toString();
}


public String calcMacStr(String macKey, String macStr) {
byte[] key = macKey.getBytes();
byte[] data = macStr.getBytes();
byte[] macValue = clacMac(key, data);
String macValueStr = bytesToHexString(macValue).substring(0, 8);
return macValueStr;
}

public static void main(String[] args) {
String key = "12345678";
String context = "helloworld";
System.out.println(new MacEcbUtils().calcMacStr(key, context));
}
}

2018-02-04 21:53:22 zgjllf1011 阅读数 8173

最近新换了一个Mac,需要吧旧的Mac 上的文件传到新的Mac上,但是手里没有U盘,所以只能想其他办法。由于是在同一个局域网下,所以我们可以使用终端的远程连接来进行文件传输。

首先要先对两台mac进行共享设置:进入系统偏好设置,选择共享,启用远程登陆:


然后打开终端,输入命令连接一下目标设备看一下是否能连接成功:

ssh liufeng@192.168.1.104
如果第一次连接会出一个提示,询问是否连接,直接输入yes即可,如果设置正确,就可以看到已经正常登陆了目标设备。

然后就可以使用linux命令来传输文件了,命令格式:

src file_source file_target 

如果是文件夹,在src后加上-r即可。

这里因为我已经登陆了目标电脑,而且是从目标电脑下载文件夹到本地,所以我的命是这样的:


接下来就会开始下载了,下载过程中我们可以看到下载进度、下载速度,用时等信息,然后我们只要等待下载结束就可以了。

MAC install torch

阅读数 2332

我的Mac应用清单

阅读数 1540

Mac:在线恢复

阅读数 3196

Mac平台工具安装系列

博文 来自: lonelymanontheway
没有更多推荐了,返回首页