24个字节的字符串进行3DES加密后得到的串的长度是多少?

求解答。。JAVA中24个字节的字符串进行3DES加密后得到的串的长度是多少?

1个回答

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
如何给一个自己定义的字符串进行3DES加密?

要怎么做呢,是自己定义的24个字节的字符串,求大神指教啊。。

java 字符串加密 加密结果的长度如何压缩

最近在做一个队身份证号加密的功能,不管采用DES还是AES,加密后的byte数组用base64转换为字符串,结果字符串的长度都超过40,而数据库该字段的长度是40。请教下,有没有办法将字符串长度控制在40以内

【JAVA】如何判断输入字符是否DES加密过?

在对输入字符做DES解密时,是否可以先判断下是否加密?如何判断输入字符是否有DES加密?

java里面的des加密中 明文与密文的长度分别为多少?

我在一些资料上查到, 明文,密文,密码 这三个东西均为64位,但试验中好像不是呀!

des 加密后密文赋给另一个字符数组,解密出问题

我用des加密后,对原始密文解密没有问题。 但是使用这两个函数 void MessageName2::setCiphertxt(const char * ciphertxt_var) { this->ciphertxt_var = ciphertxt_var; } const char * MessageName2::getCiphertxt() const { return ciphertxt_var.c_str(); } 原始数据我是通过随机数生成的,转为char[]后进行加密,对密文先用setCiphertxt(),再用解密函数对getCiphertxt()解密,测试五十次大概就会有一次出现问题。 比如,原始数据是21001839,解密后变成210018ßt,后面几位出现乱码,或者解密出来都是乱码。 加解密代码是网上找的,测试过是没有问题的。 纠结了好久,有没有大神知道是怎么回事? void yxyDES2::EncryptData(char* _srcBytes,unsigned int keyN) { char szSrcBits[64] = {0}; char sz_IP[64] = {0}; char sz_Li[32] = {0}; char sz_Ri[32] = {0}; char sz_Final64[64] = {0}; Bytes2Bits(_srcBytes,szSrcBits,64); //IP InitialPermuteData(szSrcBits,sz_IP); memcpy(sz_Li,sz_IP,32); memcpy(sz_Ri,sz_IP + 32,32); for(int i=0;i<16;i++) { FunctionF(sz_Li,sz_Ri,i,keyN); } //so D=LR memcpy(sz_Final64,sz_Ri,32); memcpy(sz_Final64 + 32,sz_Li,32); //~IP for(int j=0;j<64;j++) { szCiphertextRaw[j] = sz_Final64[IPR_Table[j]-1]; } Bits2Bytes(szCiphertextInBytes,szCiphertextRaw,64); } void yxyDES2::DecryptData(char* _srcBytes,unsigned int keyN) { char szSrcBits[64] = {0}; char sz_IP[64] = {0}; char sz_Li[32] = {0}; char sz_Ri[32] = {0}; char sz_Final64[64] = {0}; Bytes2Bits(_srcBytes,szSrcBits,64); //IP --- return is sz_IP InitialPermuteData(szSrcBits,sz_IP); //divide the 64 bits data to two parts memcpy(sz_Ri,sz_IP,32); //exchange L to R memcpy(sz_Li,sz_IP + 32,32); //exchange R to L //16 rounds F and xor and exchange for(int i=0;i<16;i++) { FunctionF(sz_Ri,sz_Li,15-i,keyN); } memcpy(sz_Final64,sz_Li,32); memcpy(sz_Final64 + 32,sz_Ri,32); // ~IP for(int j=0;j<64;j++) { szPlaintextRaw[j] = sz_Final64[IPR_Table[j]-1]; } Bits2Bytes(szPlaintextInBytes,szPlaintextRaw,64); }

java 3DES 解密时部分乱码

3DES 解密时,出现部分乱码,byte数组里有负值,不知道如何解决 ,求大神指导,代码如下: ``` import java.io.UnsupportedEncodingException; import javax.crypto.Cipher; import javax.crypto.SecretKey; import javax.crypto.SecretKeyFactory; import javax.crypto.spec.DESedeKeySpec; import javax.crypto.spec.IvParameterSpec; /*字符串 DESede(3DES) 加密 * ECB模式/使用PKCS7方式填充不足位,目前给的密钥是192位 * 3DES(即Triple DES)是DES向AES过渡的加密算法(1999年,NIST将3-DES指定为过渡的 * 加密标准),是DES的一个更安全的变形。它以DES为基本模块,通过组合分组方法设计出分组加 * 密算法,其具体实现如下:设Ek()和Dk()代表DES算法的加密和解密过程,K代表DES算法使用的 * 密钥,P代表明文,C代表密表,这样, * 3DES加密过程为:C=Ek3(Dk2(Ek1(P))) * 3DES解密过程为:P=Dk1((EK2(Dk3(C))) * */ public class url { private static final String Algorithm = "DESede/CBC/NoPadding"; //定义加密算法,可用 DES,DESede,Blowfish private static final String key="CCBJF2014cowell20151118Y"; private static final String vi = "KW2015rj"; //keybyte为加密密钥,长度为24字节 //src为加密后的缓冲区 public static String decryptMode(String strMi){ try { //szSrc.getBytes("UTF-8"); byte[] src = com.sun.org.apache.xml.internal.security.utils.Base64.decode(strMi); //src = it.sauronsoftware.base64.Base64.encode(src); DESedeKeySpec dks = new DESedeKeySpec(key.getBytes()); SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DESede"); SecretKey securekey = keyFactory.generateSecret(dks); IvParameterSpec iv = new IvParameterSpec(vi.getBytes()); Cipher cipher = Cipher.getInstance(Algorithm); cipher.init(Cipher.DECRYPT_MODE, securekey,iv ); byte[] encoded = cipher.doFinal(src);//在单一方面的加密或解密 //Base64.encode(encoded); return new String(encoded); } catch (java.security.NoSuchAlgorithmException e1) { // TODO: handle exception e1.printStackTrace(); }catch(javax.crypto.NoSuchPaddingException e2){ e2.printStackTrace(); }catch(java.lang.Exception e3){ e3.printStackTrace(); } return null; } public static void main(String[] args) throws UnsupportedEncodingException { // TODO Auto-generated method stub //添加新安全算法,如果用JCE就要把它添加进去 String szSrc = "G6ZT+GxPq7JkGuLjVQ4TUAUyTcp+UnNpsoKGzy5FudtRNn6v9tSyWmxpcnFu01Rk8Th0NoV0E8TIhffliYQ4xQicG8ciVYWP2s+jk192tJrF6x6WV0ej2w=="; szSrc.getBytes("UTF-8"); System.out.println("jie密前的字符串:" + szSrc); System.out.println("jie密后的字符串:" + decryptMode(szSrc)); //byte[] srcBytes = decryptMode(keyBytes,encoded); //System.out.println("解密后的字符串:" + (new String(srcBytes))); } } ```

java中使用Base64的加密方法将byte[]加密成一个字符串的问题?

![图片说明](https://img-ask.csdn.net/upload/201810/09/1539081344_450748.jpg) 这上面那个就是将byte[]加密的方法。 ``` public static void main(String[] args) throws IOException { File file = new File("C:\\Users\\libai\\Desktop\\s.pdf"); FileInputStream fis = new FileInputStream(file); ByteArrayOutputStream bos = new ByteArrayOutputStream(1000); byte[] b = new byte[1000]; int n; byte[] buffer; while ((n = fis.read(b)) != -1) { bos.write(b, 0, n); } fis.close(); bos.close(); buffer = bos.toByteArray(); File file1 = new File("C:\\Users\\libai\\Desktop\\x.pdf"); FileInputStream fis1 = new FileInputStream(file1); ByteArrayOutputStream bos1 = new ByteArrayOutputStream(1000); byte[] b1 = new byte[1000]; int n1; byte[] buffer1; while ((n1 = fis1.read(b1)) != -1) { bos1.write(b1, 0, n1); } fis1.close(); bos1.close(); buffer1 = bos1.toByteArray(); String base64Encryption = Base64Encryption(buffer); System.out.println("第一条"+base64Encryption); String base64Encryption1 = Base64Encryption(buffer1); System.out.println("第二条"+base64Encryption1); } ``` 这是测试代码 运行的瞬间,打印出的是这样, ![图片说明](https://img-ask.csdn.net/upload/201810/09/1539081545_91793.png) 过了一秒多的时间,控制台变成这样了, ![图片说明](https://img-ask.csdn.net/upload/201810/09/1539081609_28825.jpg) 不清楚是怎么回事?我是想加密多个文件,但是这样只是有最后一条的加密信息。求大神指点。

请问,银联标准的MAC算法所加密的数据是十六进制类型的还是字符串类型的?

![图片说明](https://img-ask.csdn.net/upload/201508/13/1439447959_398932.png) 就是直接用解析好的数据串直接进行mac计算, 还是要把解析到的字符串先转成16进制再进行mac计算?

关于DES加密 求帮助!

对接方des加密 是用.net 写的 我用的是php 就大侠把.net的加密程序帮我 转换成 php的 下面是 .NET 的加密程序: ``` public class DESEncryptDecrypt { private string Key; private string IV; private DESCryptoServiceProvider IDes; private byte[] GetKey; private byte[] GetIV; public DESEncryptDecrypt() { this.Key = "%&hj7x89H$yuBI0456FtmaT5&fvHUFCy76*h%(HilJ$lhj!y6&(*jkP87jH7&*^$^&*%&*%$@#@^"; this.IV = "E4ghj*Ghg7!rNIfb&95GUY86GfghUb#er57HBh(u%g6HJ($jhWk7&!hg4ui%$hjk"; this.Init(); } public DESEncryptDecrypt(string Key) { this.Key = Key; this.IV = "E4ghj*Ghg7!rNIfb&95GUY86GfghUb#er57HBh(u%g6HJ($jhWk7&!hg4ui%$hjk"; this.Init(); } public DESEncryptDecrypt(string Key,string IV) { this.Key = Key; this.IV = IV; this.Init(); } private void Init() { this.IDes = new DESCryptoServiceProvider(); this.IDes.GenerateKey(); this.GetKey = this.IDes.Key; this.IDes.GenerateIV(); this.GetIV = this.IDes.IV; } /// <summary> /// 获得密钥 /// </summary> /// <returns>密钥</returns> private byte[] GetLegalKey() { string sTemp = this.Key; byte[] bytTemp = this.GetKey; int KeyLength = bytTemp.Length; if (sTemp.Length > KeyLength) { sTemp = sTemp.Substring(0, KeyLength); } else { if (sTemp.Length < KeyLength) { sTemp = sTemp.PadRight(KeyLength, ' '); } } return ASCIIEncoding.ASCII.GetBytes(sTemp); } /// <summary> /// 获得初始向量IV /// </summary> /// <returns>初试向量IV</returns> private byte[] GetLegalIV() { string sTemp = this.Key; byte[] bytTemp = this.GetIV; int IVLength = bytTemp.Length; if (sTemp.Length > IVLength) { sTemp = sTemp.Substring(0, IVLength); } else { if (sTemp.Length < IVLength) { sTemp = sTemp.PadRight(IVLength, ' '); } } return ASCIIEncoding.ASCII.GetBytes(sTemp); } /// <summary> /// 加密算法 /// </summary> /// <param name="data"></param> /// <returns></returns> public string Encrypt(string data) { //将要加密的数据编码为字节数组 byte[] encrypt_data = System.Text.Encoding.UTF8.GetBytes(data); //如果使用Unicode编码,支持中文加密 //创建流,保存加密后的数据 MemoryStream ms = new MemoryStream(); //创建加密流 CryptoStream cs = new CryptoStream(ms, this.IDes.CreateEncryptor(this.GetLegalKey(), this.GetLegalIV()), CryptoStreamMode.Write); //调用Write方法将加密后的结果写到 流 中 cs.Write(encrypt_data, 0, encrypt_data.Length); //将数据从流写入内存(这句不能少,否则在从内存导出到字符串的时候会出现字符丢失) cs.FlushFinalBlock(); //ms.ToString(); ==>将流写入字节数组中 string result = Convert.ToBase64String(ms.ToArray()); ms.Close(); cs.Close(); return result; } /// <summary> /// 解密算法 /// </summary> /// <param name="data"></param> /// <returns></returns> public string Decrypt(string data) { byte[] decrypt_data = Convert.FromBase64String(data); MemoryStream ms = new MemoryStream(); CryptoStream cs = new CryptoStream(ms, this.IDes.CreateDecryptor(this.GetLegalKey(), this.GetLegalIV()), CryptoStreamMode.Write); cs.Write(decrypt_data, 0, decrypt_data.Length); cs.FlushFinalBlock(); string result = System.Text.Encoding.UTF8.GetString(ms.ToArray()); ms.Close(); cs.Close(); return result; } } ```

安卓使用Des NoSuchProviderException

调用的时候: mPassword = DES.encrypt(null, password, "UTF-8"); encrypt方法会返回“加密失败”,报异常java.security.NoSuchProviderException: Provider not available: SunJCE,是为什么呢, 下面是Des的代码 ``` package com.shishi.utils; import java.security.Key; import javax.crypto.Cipher; /** * * * * @author vlinux * * */ public class DES { private static String strDefaultKey = "aaaa"; private Cipher encryptCipher = null; private Cipher decryptCipher = null; /** * * 将byte数组转换为表示16进制值的字符串, 如:byte[]{8,18}转换为:0813, 和public static byte[] * hexStr2ByteArr(String strIn) 互为可逆的转换过程 * * @param arrB * * 需要转换的byte数组 * * @return 转换后的字符串 * * @throws Exception * * 本方法不处理任何异常,所有异常全部抛出 */ public static String byteArr2HexStr(byte[] arrB) throws Exception { int iLen = arrB.length; // 每个byte用两个字符才能表示,所以字符串的长度是数组长度的两倍 StringBuffer sb = new StringBuffer(iLen * 2); for (int i = 0; i < iLen; i++) { int intTmp = arrB[i]; // 把负数转换为正数 while (intTmp < 0) { intTmp = intTmp + 256; } // 小于0F的数需要在前面补0 if (intTmp < 16) { sb.append("0"); } sb.append(Integer.toString(intTmp, 16)); } return sb.toString(); } /** * * 将表示16进制值的字符串转换为byte数组, 和public static String byteArr2HexStr(byte[] arrB) * 互为可逆的转换过程 * * @param strIn * * 需要转换的字符串 * * @return 转换后的byte数组 * * @throws Exception * * 本方法不处理任何异常,所有异常全部抛出 @ <a * href="mailto:leo841001@163.com">LiGuoQing</a> */ public static byte[] hexStr2ByteArr(String strIn) throws Exception { byte[] arrB = strIn.getBytes(); int iLen = arrB.length; // 两个字符表示一个字节,所以字节数组长度是字符串长度除以2 byte[] arrOut = new byte[iLen / 2]; for (int i = 0; i < iLen; i = i + 2) { String strTmp = new String(arrB, i, 2); arrOut[i / 2] = (byte) Integer.parseInt(strTmp, 16); } return arrOut; } /** * * 默认构造方法,使用默认密钥 * * @throws Exception */ public DES() throws Exception { this(strDefaultKey); } /** * * 指定密钥构造方法 * * @param strKey * * 指定的密钥 * * @throws Exception */ public DES(String strKey) throws Exception { // 如果没有指定秘钥的话,使用默认秘钥 if (strKey == null || strKey.equals("")) strKey = strDefaultKey; Key key = getKey(strKey.getBytes()); // NoPadding // PKCS5Padding encryptCipher = Cipher.getInstance("DES/ECB/NoPadding", "SunJCE"); encryptCipher.init(Cipher.ENCRYPT_MODE, key); decryptCipher = Cipher.getInstance("DES/ECB/NoPadding", "SunJCE"); decryptCipher.init(Cipher.DECRYPT_MODE, key); } /** * * 加密字节数组 * * @param arrB * 需加密的字节数组 * * @return 加密后的字节数组 * * @throws Exception */ public byte[] encrypt(byte[] arrB) throws Exception { return encryptCipher.doFinal(arrB); } /** * * 加密字符串 * * * * @param strIn * * 需加密的字符串 * * @return 加 * * 密后的字符串 * * @throws Exception */ public String encrypt(String strIn, String encode) throws Exception { return byteArr2HexStr(encrypt(strIn.getBytes(encode))); } /** * * 解密字节数组 * * @param arrB * * 需解密的字节数组 * * @return 解密后的字节数组 * * @throws Exception */ public byte[] decrypt(byte[] arrB) throws Exception { return decryptCipher.doFinal(arrB); } /** * * 解密字符串 * * * * @param strIn * * 需解密的字符串 * * @return 解密后的字符串 * * @throws Exception */ public String decrypt(String strIn, String encode) throws Exception { return new String(decrypt(hexStr2ByteArr(strIn)), encode); } /** * * 从指定字符串生成密钥,密钥所需的字节数组长度为8位 不足8位时后面补0,超出8位只取前8位 * * * * @param arrBTmp * * 构成该字符串的字节数组 * * @return 生成的密钥 * * @throws Exception */ private Key getKey(byte[] arrBTmp) throws Exception { // 创建一个空的8位字节数组(默认值为0) byte[] arrB = new byte[8]; // 将原始字节数组转换为8位 for (int i = 0; i < arrBTmp.length && i < arrB.length; i++) { arrB[i] = arrBTmp[i]; } // 生成密钥 Key key = new javax.crypto.spec.SecretKeySpec(arrB, "DES"); return key; } /** * * DES加密 * * @param key * 使用的秘钥,传入null或是空值时使用默认秘钥 * * @param str * 待加密的明文 * * @param encode * 明文编码方式,一般为“GBK” * * @return */ public static String encrypt(String key, String str, String encode) { try { byte[] strBytes = str.getBytes(encode); byte[] newStrBytes = new byte[strBytes.length + (8 - strBytes.length % 8)]; for (int i = 0; i < newStrBytes.length; i++) { newStrBytes[i] = i < strBytes.length ? strBytes[i] : 32; }// for return new DES(key).encrypt(new String(newStrBytes, encode), encode); } catch (Exception e) { // throw new MPayException(MPayException.MPAY_DES_ERROR,"加密失败",e); return "加密失败"; }// try } /** * * DES解密 * * @param key * 使用的秘钥,传入null或是空值时使用默认秘钥 * * @param str * 待解密的密文 * * @param encode * 密文编码方式,一般为“GBK” * * @return */ public static String decrypt(String key, String str, String encode) { try { return new DES(key).decrypt(str, encode).replaceAll("\\s*$", ""); } catch (Exception e) { // throw new MPayException(MPayException.MPAY_DES_ERROR,"解密失败",e); return "解密失败"; }// try } public static void main(String[] args) throws Exception { // String str = DesUtil.encrypt("}7$#3@+1~/B\\[D&...","intf", "UTF-8"); // System.out.println("密文=" + str); // System.out.println("明文=#" + // DesUtil.decrypt("}7$#3@+1~/B\\[D&...",str, "UTF-8")+"#"); // System.out.println(DesUtil.decrypt("}7$#3@+1~/B\\[D&...","54c5b564c51868ba", // "UTF-8"));//f54c505c18c74894 54c5b564c51868ba // // System.out.println( DesUtil.decrypt("}7$#3@+1", "d40d315388d74f2d", // "GBK") ); String key = ""; String message = "23873d4a0da6f58d3863b5758c457e312015ba63f4e433a4a12b60ca79bab8347e185d6502a594989d2711e8239ed0a37f14a477140fb18593d5dafba217ba76cf1e6a5fdf0f3593ff9945ac10398f99d5f14de2d349c4914431cb11724ee801f64147ea46455215777980a12f18acc842a8545db0bfe6d739efd36f096defa1bf2b1e016b4af9f18e87a3f220da2a4741f2cb88f6a29f8293e53357b2e6f9f9b4434f4e0b76ef6a250ecc47fecde2248e419665de46fe8fa31accc171bcbb44758d3ed4d2ab6e5d3456caee683dd1a8758d3ed4d2ab6e5d7cb111627e687fd3a9634596dd187b8acc697ee8444988d6908adf9322636cf7201f575fb41823ec412eede8a8c5a5b4d2eac2b6ae6bf07ef8ba56572383d327ce8e3f64aec57b4f473c0534c91140f160acf86fa415611c65d068960831f7864eff47fcb5a2a675c1ddb1b39ea3aa047a0b9f4258a61ae8e0b4664f71df1ea1ff9945ac10398f99da4be1a7f28b5f2a"; System.out.println(DES.decrypt(key, message, "GBK")); String str = "123456.com"; System.out.println(DES.encrypt(key, str, "GBK")); } } ```

java 生成MAC校验码问题

需求描述: 将16字节的摘要数据前8个字节后8个字节进行异或,接着再用工作密钥(MAC密钥)用des算法加密异或后的8个字节,最后生成MAC 示例: 1 请求报文的报文体串: 200001|compcode|20120521125152|1205250957011|spot_code|abc123|01|1401978481|201205|20120512| 2 对报文体串进行MAC字符选择处理构成MAB串。 200001COMPCODE201205211251521205250957011SPOTCODEABC12301140197848120120520120512 3 对MAB进行MD5算法处理取摘要。 5cb6363bbdf4f09545e79237df250eca 4 将摘要内容的前8个字节与后8个字节进行异或处理。 5cb6363bbdf4f095 45e79237df250eca ----------------------- 异或 1951A40C62D1FE5F 5 用des算法处理步骤4的异或结果得到MAC值(假设mak为1234567890ABCDEF)。 0A394D63C627B16B

在中国程序员是青春饭吗?

今年,我也32了 ,为了不给大家误导,咨询了猎头、圈内好友,以及年过35岁的几位老程序员……舍了老脸去揭人家伤疤……希望能给大家以帮助,记得帮我点赞哦。 目录: 你以为的人生 一次又一次的伤害 猎头界的真相 如何应对互联网行业的「中年危机」 一、你以为的人生 刚入行时,拿着傲人的工资,想着好好干,以为我们的人生是这样的: 等真到了那一天,你会发现,你的人生很可能是这样的: ...

程序员请照顾好自己,周末病魔差点一套带走我。

程序员在一个周末的时间,得了重病,差点当场去世,还好及时挽救回来了。

和黑客斗争的 6 天!

互联网公司工作,很难避免不和黑客们打交道,我呆过的两家互联网公司,几乎每月每天每分钟都有黑客在公司网站上扫描。有的是寻找 Sql 注入的缺口,有的是寻找线上服务器可能存在的漏洞,大部分都...

点沙成金:英特尔芯片制造全过程揭密

“亚马逊丛林里的蝴蝶扇动几下翅膀就可能引起两周后美国德州的一次飓风……” 这句人人皆知的话最初用来描述非线性系统中微小参数的变化所引起的系统极大变化。 而在更长的时间尺度内,我们所生活的这个世界就是这样一个异常复杂的非线性系统…… 水泥、穹顶、透视——关于时间与技艺的蝴蝶效应 公元前3000年,古埃及人将尼罗河中挖出的泥浆与纳特龙盐湖中的矿物盐混合,再掺入煅烧石灰石制成的石灰,由此得来了人...

上班一个月,后悔当初着急入职的选择了

最近有个老铁,告诉我说,上班一个月,后悔当初着急入职现在公司了。他之前在美图做手机研发,今年美图那边今年也有一波组织优化调整,他是其中一个,在协商离职后,当时捉急找工作上班,因为有房贷供着,不能没有收入来源。所以匆忙选了一家公司,实际上是一个大型外包公司,主要派遣给其他手机厂商做外包项目。**当时承诺待遇还不错,所以就立马入职去上班了。但是后面入职后,发现薪酬待遇这块并不是HR所说那样,那个HR自...

女程序员,为什么比男程序员少???

昨天看到一档综艺节目,讨论了两个话题:(1)中国学生的数学成绩,平均下来看,会比国外好?为什么?(2)男生的数学成绩,平均下来看,会比女生好?为什么?同时,我又联想到了一个技术圈经常讨...

副业收入是我做程序媛的3倍,工作外的B面人生是怎样的?

提到“程序员”,多数人脑海里首先想到的大约是:为人木讷、薪水超高、工作枯燥…… 然而,当离开工作岗位,撕去层层标签,脱下“程序员”这身外套,有的人生动又有趣,马上展现出了完全不同的A/B面人生! 不论是简单的爱好,还是正经的副业,他们都干得同样出色。偶尔,还能和程序员的特质结合,产生奇妙的“化学反应”。 @Charlotte:平日素颜示人,周末美妆博主 大家都以为程序媛也个个不修边幅,但我们也许...

如果你是老板,你会不会踢了这样的员工?

有个好朋友ZS,是技术总监,昨天问我:“有一个老下属,跟了我很多年,做事勤勤恳恳,主动性也很好。但随着公司的发展,他的进步速度,跟不上团队的步伐了,有点...

我入职阿里后,才知道原来简历这么写

私下里,有不少读者问我:“二哥,如何才能写出一份专业的技术简历呢?我总感觉自己写的简历太烂了,所以投了无数份,都石沉大海了。”说实话,我自己好多年没有写过简历了,但我认识的一个同行,他在阿里,给我说了一些他当年写简历的方法论,我感觉太牛逼了,实在是忍不住,就分享了出来,希望能够帮助到你。 01、简历的本质 作为简历的撰写者,你必须要搞清楚一点,简历的本质是什么,它就是为了来销售你的价值主张的。往深...

外包程序员的幸福生活

今天给你们讲述一个外包程序员的幸福生活。男主是Z哥,不是在外包公司上班的那种,是一名自由职业者,接外包项目自己干。接下来讲的都是真人真事。 先给大家介绍一下男主,Z哥,老程序员,是我十多年前的老同事,技术大牛,当过CTO,也创过业。因为我俩都爱好喝酒、踢球,再加上住的距离不算远,所以一直也断断续续的联系着,我对Z哥的状况也有大概了解。 Z哥几年前创业失败,后来他开始干起了外包,利用自己的技术能...

C++11:一些微小的变化(新的数据类型、template表达式内的空格、nullptr、std::nullptr_t)

本文介绍一些C++的两个新特性,它们虽然微小,但对你的编程十分重要 一、Template表达式内的空格 C++11标准之前建议在“在两个template表达式的闭符之间放一个空格”的要求已经过时了 例如: vector&lt;list&lt;int&gt; &gt;; //C++11之前 vector&lt;list&lt;int&gt;&gt;; //C++11 二、nullptr ...

优雅的替换if-else语句

场景 日常开发,if-else语句写的不少吧??当逻辑分支非常多的时候,if-else套了一层又一层,虽然业务功能倒是实现了,但是看起来是真的很不优雅,尤其是对于我这种有强迫症的程序"猿",看到这么多if-else,脑袋瓜子就嗡嗡的,总想着解锁新姿势:干掉过多的if-else!!!本文将介绍三板斧手段: 优先判断条件,条件不满足的,逻辑及时中断返回; 采用策略模式+工厂模式; 结合注解,锦...

深入剖析Springboot启动原理的底层源码,再也不怕面试官问了!

大家现在应该都对Springboot很熟悉,但是你对他的启动原理了解吗?

离职半年了,老东家又发 offer,回不回?

有小伙伴问松哥这个问题,他在上海某公司,在离职了几个月后,前公司的领导联系到他,希望他能够返聘回去,他很纠结要不要回去? 俗话说好马不吃回头草,但是这个小伙伴既然感到纠结了,我觉得至少说明了两个问题:1.曾经的公司还不错;2.现在的日子也不是很如意。否则应该就不会纠结了。 老实说,松哥之前也有过类似的经历,今天就来和小伙伴们聊聊回头草到底吃不吃。 首先一个基本观点,就是离职了也没必要和老东家弄的苦...

为什么你不想学习?只想玩?人是如何一步一步废掉的

不知道是不是只有我这样子,还是你们也有过类似的经历。 上学的时候总有很多光辉历史,学年名列前茅,或者单科目大佬,但是虽然慢慢地长大了,你开始懈怠了,开始废掉了。。。 什么?你说不知道具体的情况是怎么样的? 我来告诉你: 你常常潜意识里或者心理觉得,自己真正的生活或者奋斗还没有开始。总是幻想着自己还拥有大把时间,还有无限的可能,自己还能逆风翻盘,只不是自己还没开始罢了,自己以后肯定会变得特别厉害...

为什么程序员做外包会被瞧不起?

二哥,有个事想询问下您的意见,您觉得应届生值得去外包吗?公司虽然挺大的,中xx,但待遇感觉挺低,马上要报到,挺纠结的。

当HR压你价,说你只值7K,你该怎么回答?

当HR压你价,说你只值7K时,你可以流畅地回答,记住,是流畅,不能犹豫。 礼貌地说:“7K是吗?了解了。嗯~其实我对贵司的面试官印象很好。只不过,现在我的手头上已经有一份11K的offer。来面试,主要也是自己对贵司挺有兴趣的,所以过来看看……”(未完) 这段话主要是陪HR互诈的同时,从公司兴趣,公司职员印象上,都给予对方正面的肯定,既能提升HR的好感度,又能让谈判气氛融洽,为后面的发挥留足空间。...

面试:第十六章:Java中级开发(16k)

HashMap底层实现原理,红黑树,B+树,B树的结构原理 Spring的AOP和IOC是什么?它们常见的使用场景有哪些?Spring事务,事务的属性,传播行为,数据库隔离级别 Spring和SpringMVC,MyBatis以及SpringBoot的注解分别有哪些?SpringMVC的工作原理,SpringBoot框架的优点,MyBatis框架的优点 SpringCould组件有哪些,他们...

面试阿里p7,被按在地上摩擦,鬼知道我经历了什么?

面试阿里p7被问到的问题(当时我只知道第一个):@Conditional是做什么的?@Conditional多个条件是什么逻辑关系?条件判断在什么时候执...

面试了一个 31 岁程序员,让我有所触动,30岁以上的程序员该何去何从?

最近面试了一个31岁8年经验的程序猿,让我有点感慨,大龄程序猿该何去何从。

【阿里P6面经】二本,curd两年,疯狂复习,拿下阿里offer

二本的读者,在老东家不断学习,最后逆袭

大三实习生,字节跳动面经分享,已拿Offer

说实话,自己的算法,我一个不会,太难了吧

程序员垃圾简历长什么样?

已经连续五年参加大厂校招、社招的技术面试工作,简历看的不下于万份 这篇文章会用实例告诉你,什么是差的程序员简历! 疫情快要结束了,各个公司也都开始春招了,作为即将红遍大江南北的新晋UP主,那当然要为小伙伴们做点事(手动狗头)。 就在公众号里公开征简历,义务帮大家看,并一一点评。《启舰:春招在即,义务帮大家看看简历吧》 一石激起千层浪,三天收到两百多封简历。 花光了两个星期的所有空闲时...

《经典算法案例》01-08:如何使用质数设计扫雷(Minesweeper)游戏

我们都玩过Windows操作系统中的经典游戏扫雷(Minesweeper),如果把质数当作一颗雷,那么,表格中红色的数字哪些是雷(质数)?您能找出多少个呢?文中用列表的方式罗列了10000以内的自然数、质数(素数),6的倍数等,方便大家观察质数的分布规律及特性,以便对算法求解有指导意义。另外,判断质数是初学算法,理解算法重要性的一个非常好的案例。

《Oracle Java SE编程自学与面试指南》最佳学习路线图(2020最新版)

正确选择比瞎努力更重要!

面试官:你连SSO都不懂,就别来面试了

大厂竟然要考我SSO,卧槽。

微软为一人收购一公司?破解索尼程序、写黑客小说,看他彪悍的程序人生!...

作者 | 伍杏玲出品 | CSDN(ID:CSDNnews)格子衬衫、常掉发、双肩包、修电脑、加班多……这些似乎成了大众给程序员的固定标签。近几年流行的“跨界风”开始刷新人们对程序员的...

终于,月薪过5万了!

来看几个问题想不想月薪超过5万?想不想进入公司架构组?想不想成为项目组的负责人?想不想成为spring的高手,超越99%的对手?那么本文内容是你必须要掌握的。本文主要详解bean的生命...

我说我懂多线程,面试官立马给我发了offer

不小心拿了几个offer,有点烦

自从喜欢上了B站这12个UP主,我越来越觉得自己是个废柴了!

不怕告诉你,我自从喜欢上了这12个UP主,哔哩哔哩成为了我手机上最耗电的软件,几乎每天都会看,可是吧,看的越多,我就越觉得自己是个废柴,唉,老天不公啊,不信你看看…… 间接性踌躇满志,持续性混吃等死,都是因为你们……但是,自己的学习力在慢慢变强,这是不容忽视的,推荐给你们! 都说B站是个宝,可是有人不会挖啊,没事,今天咱挖好的送你一箩筐,首先啊,我在B站上最喜欢看这个家伙的视频了,为啥 ,咱撇...

代码注释如此沙雕,会玩还是你们程序员!

某站后端代码被“开源”,同时刷遍全网的,还有代码里的那些神注释。 我们这才知道,原来程序员个个都是段子手;这么多年来,我们也走过了他们的无数套路… 首先,产品经理,是永远永远吐槽不完的!网友的评论也非常扎心,说看这些代码就像在阅读程序员的日记,每一页都写满了对产品经理的恨。 然后,也要发出直击灵魂的质问:你是尊贵的付费大会员吗? 这不禁让人想起之前某音乐app的穷逼Vip,果然,穷逼在哪里都是...

2020春招面试了10多家大厂,我把问烂了的数据库事务知识点总结了一下

2020年截止目前,我面试了阿里巴巴、腾讯、美团、拼多多、京东、快手等互联网大厂。我发现数据库事务在面试中出现的次数非常多。

程序员如何与产品经理优雅的干架

早前,平安产险科技一名外包程序员和一名外包产品经理干架的视频几乎在互联网圈都传遍了,因为产品提了一个需求:要求用户App的主题颜色能根据手机壳自动调整。 首先说这个需求对于应用开发工程师来说,确实是有点奇葩,当然并非不能实现。这块涉及图形图像处理,用机器学习和人工智能来提取图像颜色,这是基本图像识别过程,对于采集图像,可以提示对着镜子自拍一张,上传图片,通过大量的训练数据,来识别手机体颜色。当然并...

爬虫(101)爬点重口味的

小弟最近在学校无聊的很哪,浏览网页突然看到一张图片,都快流鼻血。。。然后小弟冥思苦想,得干一点有趣的事情python 爬虫库安装https://s.taobao.com/api?_ks...

在拼多多上班,是一种什么样的体验?我心态崩了呀!

之前有很多读者咨询我:武哥,在拼多多上班是一种什么样的体验?由于一直很忙,没抽出时间来和大家分享。上周末特地花点时间来写了一篇文章,跟大家分享一下拼多多的日常。 1. 倒时差的作息 可能很多小伙伴都听说了,拼多多加班很严重。这怎么说呢?作息上确实和其他公司有点区别,大家知道 996,那么自然也就能理解拼多多的“11 11 6”了。 所以当很多小伙伴早上出门时,他们是这样的: 我们是这样的: 当...

应聘3万的职位,有必要这么刁难我么。。。沙雕。。。

又一次被面试官带到坑里面了。面试官:springmvc用过么?我:用过啊,经常用呢面试官:springmvc中为什么需要用父子容器?我:嗯。。。没听明白你说的什么。面试官:就是contr...

太狠了,疫情期间面试,一个问题砍了我5000!

疫情期间找工作确实有点难度,想拿到满意的薪资,确实要点实力啊!面试官:Spring中的@Value用过么,介绍一下我:@Value可以标注在字段上面,可以将外部配置文件中的数据,比如可以...

自学编程的 6 个致命误区

嗨,小伙伴们大家好,我是沉默王二。本篇文章来和大家聊聊自学编程中的一些误区——这是我在 B 站上看了羊哥的一期视频后有感而发的文章。因为确实有很多读者也曾私信问过我这些方面的问题,很有代表性,所以我就结合自己的亲身体会来谈一谈,希望对小伙伴们有所启发。 01、追求时髦 所谓基础不牢,地动山摇啊。可很多小伙伴压根就没注意过这个问题,市面上出什么新鲜的技术就想去尝试,结果把自己学的乱七八糟,心灰意冷...

立即提问
相关内容推荐