Sunday, October 10, 2021

V2EX - 技术

V2EX - 技术


求助 禁用了 MIUI 的包安装器导致卡米

Posted: 10 Oct 2021 04:39 AM PDT

国内版 MIUI,解锁后刷入了 magisk,用 magisk 的 root 权限在命令行里用 pm disable com.miui.packageinstaller 的命令仅用了小米自己的包管理器之后,无法开机了。本来想再用 pm 命令把这个应用 enable 就好了,结果进 TWRP 的命令行,挂载 system 分区后,虽然可以看得到 /system/bin/pm,但是如果运行的话却提示 pm 不存在(不太懂这里底层的原理,不知道咋回事)。虽然说线刷应该是可以救回来,但是那样的话数据就全都丢了,不知道有没有什么能够不清楚数据的解救方案?或者说有没有大佬知道 Android 的 pm 命令的配置在哪个路径下,或许可以去手动改掉之前的禁用。

服务器上一个神经网络模型,通过 pycharm 的 ssh remote interpreter 运行和通过命令行直接 Python xxx 运行,结果居然不一样,可能是什么原因呢

Posted: 10 Oct 2021 04:32 AM PDT

同一个虚拟环境,同一份代码

喜大普奔, c 语言二进制输出

Posted: 10 Oct 2021 04:22 AM PDT

谷歌已经搜不到 xxx 知识网了

Win10 显卡掉线问题

Posted: 10 Oct 2021 04:19 AM PDT

我用的是公版 GTX1070,遇到一个奇怪的问题。

玩游戏的时候,屏幕显示会突然冻住,听声音是没有死机,尝试拔插 DP 线,冻结的画面没有变化。
出现问题后,远程桌面连上看了看,设备管理器中显卡没了,但是显卡灯和风扇都正常的。
尝试"扫描检测硬件改动"后,显卡又出现了,但是显卡依然不正常,得重启才能恢复。

有人遇到过这样的问题吗?

求推荐 原生 Android 迷你手机

Posted: 10 Oct 2021 04:14 AM PDT

因为种种原因吧,现在需要一个备用手机,就三个要求,Android 8 以上,有指纹解锁,自带 Google Play 。

都 2021 了,最好能是 Type- C 接口的。至于芯片,屏幕尺寸,几张 SIM 卡,存储,都无所谓了。

经过一些搜索搜到了一个 Jelly2. 感觉几乎符合任何要求。 但是呢,这玩意卖 1500,觉得很不划算。

大家有没有其他的符合要求的备用手机推荐的呀?

ruby on rails: no implicit conversion of nil into String

Posted: 10 Oct 2021 04:06 AM PDT

Controller 代码
class CveController < ApplicationController
def index
@cves = Cve.all
end

def show
@cve = Cve.find_by(cve_id: params[:cve_id])
end
end


异常信息
Showing app/views/cve/index.html.erb where line #3 raised:

no implicit conversion of nil into String
Extracted source (around line #3):

<h1>Cve#index</h1>
<p>Find me in app/views/cve/index.html.erb</p>
<% @cves.each do |cve| %>
<tr>
<td><%= cve.cve_id %></td>
<td><%= cve.summary %></td>

Rails.root: /Users/admin/RubyProjects/xx-api

Application Trace | Framework Trace | Full Trace
app/views/cve/index.html.erb:3
Request
Parameters:

None
Toggle session dump
Toggle env dump
Response
Headers:

None

请问一下这个 RSA 密钥经过了怎么处理呀

Posted: 10 Oct 2021 03:56 AM PDT

他给了我一个测试公钥

MIGAMA0GCSqGSIb3DQEBAQUAA28AMGwCZQCeh0LCZFTcyDINybUavJb-d0sMTMv5-xGDcGmJq38cwtij3n-bFl_qpX2lgN516bGnqZC0-kt-RkmWitXSNj-1yLu4hg1SNy-HfHuvFWulDLpDgt-JOflfCH9cMUZxbOWhf6IlAgMBAAE 

不知道经过了什么,我用 php 怎么都读不了这个公钥

下面是文档里面给的 java demo,一直转不成 php 版本的

package com.xxtx.common.util;  import org.apache.commons.codec.binary.Base64; import org.apache.commons.io.IOUtils;  import javax.crypto.Cipher; import java.io.ByteArrayOutputStream; import java.security.*; import java.security.interfaces.RSAPrivateKey; import java.security.interfaces.RSAPublicKey; import java.security.spec.InvalidKeySpecException; import java.security.spec.PKCS8EncodedKeySpec; import java.security.spec.X509EncodedKeySpec; import java.util.HashMap; import java.util.Map;   public class RSAUtils { public static final String CHARSET = "UTF-8";     public static final String RSA_ALGORITHM = "RSA"; // ALGORITHM ['?lg?r??(?)m] 算法的意思  public static Map<String, String>createKeys(int keySize) { // 为 RSA 算法创建一个 KeyPairGenerator 对象 KeyPairGenerator kpg;         try {             kpg = KeyPairGenerator.getInstance(RSA_ALGORITHM); } catch (NoSuchAlgorithmException e) { throw new IllegalArgumentException("No such algorithm-->["+ RSA_ALGORITHM + "]"); }  // 初始化 KeyPairGenerator 对象,密钥长度 kpg.initialize(keySize); // 生成密匙对 KeyPair keyPair = kpg.generateKeyPair(); // 得到公钥 Key publicKey = keyPair.getPublic(); String publicKeyStr = Base64.encodeBase64URLSafeString(publicKey.getEncoded()); // 得到私钥 Key privateKey = keyPair.getPrivate(); String privateKeyStr = Base64.encodeBase64URLSafeString(privateKey.getEncoded()); // map 装载公钥和私钥 Map<String, String> keyPairMap = new HashMap<String, String>(); keyPairMap.put("publicKey", publicKeyStr); keyPairMap.put("privateKey", privateKeyStr); // 返回 map return keyPairMap; }  /**      * 得到公钥 * @param publicKey  密钥字符串(经过 base64 编码) * @throws Exception      */ public static RSAPublicKey getPublicKey(String publicKey) throws NoSuchAlgorithmException, InvalidKeySpecException { // 通过 X509 编码的 Key 指令获得公钥对象 KeyFactory keyFactory = KeyFactory.getInstance(RSA_ALGORITHM); X509EncodedKeySpec x509KeySpec = new X509EncodedKeySpec(Base64.decodeBase64(publicKey)); RSAPublicKey key = (RSAPublicKey) keyFactory.generatePublic(x509KeySpec);         return key; }  /**      * 得到私钥 * @param privateKey  密钥字符串(经过 base64 编码) * @throws Exception      */ public static RSAPrivateKey getPrivateKey(String privateKey) throws NoSuchAlgorithmException, InvalidKeySpecException { // 通过 PKCS#8 编码的 Key 指令获得私钥对象 KeyFactory keyFactory = KeyFactory.getInstance(RSA_ALGORITHM); PKCS8EncodedKeySpec pkcs8KeySpec = new PKCS8EncodedKeySpec(Base64.decodeBase64(privateKey)); RSAPrivateKey key = (RSAPrivateKey) keyFactory.generatePrivate(pkcs8KeySpec);         return key; }  /**      * 公钥加密 * @param data * @param publicKey * @return */ public static String publicEncrypt(String data, RSAPublicKey publicKey) { try {             Cipher cipher = Cipher.getInstance(RSA_ALGORITHM); cipher.init(Cipher.ENCRYPT_MODE, publicKey);             return Base64.encodeBase64URLSafeString(rsaSplitCodec(cipher, Cipher.ENCRYPT_MODE, data.getBytes(CHARSET), publicKey.getModulus().bitLength())); } catch (Exception e) { throw new RuntimeException("加密字符串["+ data + "]时遇到异常", e); }     }  /**      * 私钥解密 * @param data * @param privateKey * @return */  public static String privateDecrypt(String data, RSAPrivateKey privateKey) { try {             Cipher cipher = Cipher.getInstance(RSA_ALGORITHM); cipher.init(Cipher.DECRYPT_MODE, privateKey);             return new String(rsaSplitCodec(cipher, Cipher.DECRYPT_MODE, Base64.decodeBase64(data), privateKey.getModulus().bitLength()), CHARSET); } catch (Exception e) { throw new RuntimeException("解密字符串["+ data + "]时遇到异常", e); }     }  /**      * 私钥加密 * @param data * @param privateKey * @return */  public static String privateEncrypt(String data, RSAPrivateKey privateKey) { try {             Cipher cipher = Cipher.getInstance(RSA_ALGORITHM); //每个 Cipher 初始化方法使用一个模式参数 opmod,并用此模式初始化 Cipher 对象。此外还有其他参数,包括密钥 key 、包含密钥的证书 certificate 、算法参数 params 和随机源 random 。 cipher.init(Cipher.ENCRYPT_MODE, privateKey);             return Base64.encodeBase64URLSafeString(rsaSplitCodec(cipher, Cipher.ENCRYPT_MODE, data.getBytes(CHARSET), privateKey.getModulus().bitLength())); } catch (Exception e) { throw new RuntimeException("加密字符串["+ data + "]时遇到异常", e); }     }  /**      * 公钥解密 * @param data * @param publicKey * @return */  public static String publicDecrypt(String data, RSAPublicKey publicKey) { try {             Cipher cipher = Cipher.getInstance(RSA_ALGORITHM); cipher.init(Cipher.DECRYPT_MODE, publicKey);             return new String(rsaSplitCodec(cipher, Cipher.DECRYPT_MODE, Base64.decodeBase64(data), publicKey.getModulus().bitLength()), CHARSET); } catch (Exception e) { throw new RuntimeException("解密字符串["+ data + "]时遇到异常", e); }     }  //rsa 切割解码  , ENCRYPT_MODE,加密数据   ,DECRYPT_MODE,解密数据 private static byte[] rsaSplitCodec(Cipher cipher, int opmode, byte[] datas, int keySize) { int maxBlock = 0;  //最大块 if (opmode == Cipher.DECRYPT_MODE) {             maxBlock = keySize / 8; } else {             maxBlock = keySize / 8 - 11; }         ByteArrayOutputStream out = new ByteArrayOutputStream();         int offSet = 0;         byte[] buff;         int i = 0;         try { while (datas.length > offSet) { if (datas.length - offSet > maxBlock) { //可以调用以下的 doFinal ()方法完成加密或解密数据: buff = cipher.doFinal(datas, offSet, maxBlock); } else {                     buff = cipher.doFinal(datas, offSet, datas.length - offSet); }                 out.write(buff, 0, buff.length); i++; offSet = i * maxBlock; }         } catch (Exception e) { throw new RuntimeException("加解密阀值为["+ maxBlock + "]的数据时发生异常", e); } byte[] resultDatas = out.toByteArray(); IOUtils.closeQuietly(out);         return resultDatas; }   } 

为什么 win10 复制文件遇到冲突后就干脆不复制了?

Posted: 10 Oct 2021 03:42 AM PDT

win10 复制文件的时候检验到同名冲突,在勾选了"对于所有冲突执行此操作"的前提下选择了"不要复制",然后它走了一会进度条就直接完成了,不冲突的文件也没有复制过去。

以至于我本来 7000 张照片想要复制到手机里面去,手机已经复制好了 5000 张,剩下的 2000 张死活复制不进去。

这是系统的 bug 么,我似乎得找个另外软件去完成这个简单的操作。

Google 中文搜索被垃圾 SEO 投毒的可能解决办法

Posted: 10 Oct 2021 01:14 AM PDT

"尽管 Google 搜索结果饱受来自站群的骚扰,但是通过将区域设置成美国后或许可以得到改善。"
"查询谷歌账号采用了哪一个国家 /地区版本的服务条款。也许和你预测的不一样。"
查询地址: https://policies.google.com/terms
消息引用自 tg 频道"风向旗参考快讯 https://t.me/xhqcankao ",由于不知道 V2EX 怎么发图,所以改之前和之后的对比结果我贴不了。有兴趣可以去他们的频道看或者自己做测试对比。
我俩账号对比了一下确实有改善。一个帐号为美国服务条款,一个被送中。

teamviewer 终于支持 arm64 平台了!

Posted: 10 Oct 2021 12:33 AM PDT

等天等地,终于等来了 arm64 位的 teamviewer !

用命令行操作 GitHub Actions

Posted: 09 Oct 2021 10:42 PM PDT

总感觉 GitHub Actions 用起来很麻烦,因为需要去网页上操作,最近发现是可以用 CLI 的,今天 4 月才有这种功能。

https://github.blog/changelog/2021-04-15-github-cli-1-9-enables-you-to-work-with-github-actions-from-your-terminal/

台式机 win10 自动更新失败,现在不停重启

Posted: 09 Oct 2021 08:17 PM PDT

系统自动更新失败,提示正在撤销更新,现在不停重启。尝试 F8 进入进入安全模式问题依旧,请问应该怎么解决? 录屏链接: https://www.ixigua.com/7017256094674190859?logTag=dcb82d6f73bd8d70ed75

怎么样让苹果家产品打电话的时候可以录音,以及在我和客户交谈录音的时候什么时候能关闭顶部烦人的录音提示。。。。

Posted: 09 Oct 2021 06:21 PM PDT

除了越狱还有其他的办法吗。关键现在越狱也麻烦。。。。

openshell 不支持 win11,有其它的替代品没?

Posted: 09 Oct 2021 06:00 PM PDT

一直在 win10 上用 openshell 的经典开始菜单,现在不支持 win11 了。

一种无 HTTPS 的安全通信方式

Posted: 09 Oct 2021 12:51 PM PDT

今天整理 HTTPS 相关内容,想到之前没有 HTTPS 时我的安全通信方式,感觉除了 server 、client 麻烦一点外还挺好用的

server 端生成一对非对称加密密钥对,pk 公开;再生成一个对称加密的密钥保存中 server 端不公开 client 端第一次请求 server 时用 pk 加密,里面存储一个 client 端生成的对称加密密钥及算法参数,server 端接到请求之后把 client 发来的密钥信息存储在 token 中(token 也可以带一些其他的信息)用 server 端独有的对称加密密钥进行加密发给 client 。client 每次请求都带着 token,可以用它生成的密钥进行加密,server 可以从 token 中拿到解密的密钥,当然了,也可以把 client 的密钥放在 session 或 redis 中。

我感觉这样挺安全的,你们觉得呢?

用 JS 实现了一个支持多语言扩展的词法分析器,求大佬们的板砖

Posted: 09 Oct 2021 12:31 PM PDT

目前大方向是计划用 JS 实现一个编译器前端的工作链,前段时间先用 JS 开源一个支持多语言扩展的词法分析器,欢迎大佬们的板砖

项目地址 : https://github.com/WGrape/lexer

演示地址 : https://wgrape.github.io/lexer

号称 work OS 的浏览器 sidekick, 感觉最主要的特色是应用之间检索的功能

Posted: 09 Oct 2021 08:50 AM PDT

感觉比较有意思, 顺手放一个推广连接吧 (满 20 个可以终身 pro plan)

https://join.meetsidekick.com/ppfld

不喜勿喷~

RUNOOB 图标

sql update where set 字段相同,这个要怎么写呢

Posted: 09 Oct 2021 02:12 AM PDT

UPDATE fa_iot_order SET card_id=1 WHERE card_id =2; 

我这么写会超时

1205 - Lock wait timeout exceeded; try restarting transaction

时间: 50.634s

是我不会用 apt-get install 吗?感觉好难用

Posted: 09 Oct 2021 12:04 AM PDT

是我不会用 apt-get install 吗? 之前一直用的 centos7 后来自己虚拟机装 ubuntu apt install 时总是报各种依赖,感觉比 yum 难用多了 ,各位大佬是怎么解决这种环境依赖问题的。aptitude 感觉也不好用。

No comments:

Post a Comment