馬斯克強懟的氫燃料電池,能和鋰電池一決高下嗎?:資本大量流入,特斯拉、蔚來陸續(xù)上市等一系列利好消息不斷傳出,純電動汽車產(chǎn)業(yè)復(fù)蘇后的姿態(tài)可謂是一路狂飆。二.雖然有各國政府保駕護航,但這場仗也并不好打。投入量產(chǎn)后,產(chǎn)能不足問題首先被暴露出。
數(shù)據(jù)顯示,就在剛剛過去的半個月,電動車起火出現(xiàn)12起,皆歸因于鋰電池。多事之秋,我國政府也陸續(xù)發(fā)布文件,明確表示將降低對電動汽車的補貼,同時繼續(xù)維持對氫燃料電池的額度。
為此,廣州甚至一次性投入8億,計劃打造“中國氫谷”,專注于氫燃料電池的研發(fā)和商用?,F(xiàn)在,隨著政府主導(dǎo)的落地商用項目出現(xiàn),這一新能源汽車品類也愈發(fā)受資本的關(guān)注。
瓦特改進蒸汽機成為了關(guān)鍵節(jié)點,人們稱它為全面進入蒸汽時代的標志。?不得不承認,在讓蒸汽機變小、動力變強的過程中,瓦特的設(shè)計起到了關(guān)鍵作用。
各國政府再次大資金投入和推動新能源汽車(主要為電動汽車)的發(fā)展,為此,美國還召開了第一次國際電動汽車會議,并展出了一百多輛電動汽車。整個產(chǎn)業(yè)開始復(fù)蘇。
騰訊安全 x geekpwn,一場產(chǎn)業(yè)安全攻防大秀 | 1024:繼去年披露“殘跡重用漏洞”后,騰訊安全玄武實驗室今年再次在geekpwn的舞臺上,帶來了指紋識別領(lǐng)域的最新研究——自動化破解多種類型指紋識別,通過提取用戶在日常生活中留存的指紋,自動化進行克隆復(fù)原,進而可以破解各種智能手機
這次自動化破解各類指紋設(shè)備看上去是指紋的“復(fù)制”與“粘貼”,但創(chuàng)下了許多記錄:應(yīng)用了玄武實驗室獨家自研的指紋破解app及指紋采集框;能夠?qū)崿F(xiàn)在極小面積指紋殘影情況下提取復(fù)刻有效指紋;首次將雕刻技術(shù)應(yīng)用在系統(tǒng)破解領(lǐng)域
隨著物聯(lián)網(wǎng)的發(fā)展和智能家居設(shè)備為廣大的用戶接受,各類設(shè)備、流量、賬號系統(tǒng)、甚至移動端app,安全邊界越來越模糊,生態(tài)體系包括第三方授權(quán)和集成的緯度也越來越多,導(dǎo)致在各個層面安全問題頻繁出現(xiàn)。
并以此為基礎(chǔ),面向政府、金融、泛互聯(lián)網(wǎng)、大交通等產(chǎn)業(yè)互聯(lián)網(wǎng)轉(zhuǎn)型的重點行業(yè)領(lǐng)域,形成了完善的行業(yè)安全解決方案,助力政府機構(gòu)及企業(yè)應(yīng)對新時期的安全威脅與挑戰(zhàn)。
- end -騰訊安全正在護航產(chǎn)業(yè)安全- 政府機構(gòu)&綜合性國企?- 國家工商總局 | 深圳寶安區(qū)政府 | 公安部交科所 | 深圳金融辦 | 信通院 | 深圳公安局?| 招商局集團 ……- 金融行業(yè) -
政府采購云服務(wù)標準編寫完成:“政府采購云服務(wù)標準編寫基本完成”,在日前召開的“云計算發(fā)展與政策論壇第四次高端會議”上,工信部電信研究院標準所互聯(lián)網(wǎng)中心主任何寶宏透露了這一信息,他表示,為了推動云服務(wù)在政府和公用事業(yè)機構(gòu)中的應(yīng)用,在財政部
、工信部、中央國家機關(guān)政府采購中心等單位的支持和指導(dǎo)下,“數(shù)據(jù)中心聯(lián)盟”開展了政府采購云服務(wù)的標準、采購指南、白皮書的編寫工作,目前主要文檔的編寫工作已完成,為下一步實施政府采購云服務(wù)打下了堅實基礎(chǔ)。
政府采購云服務(wù)的市場空間巨大,當前,越來越多的政府計劃或已經(jīng)采購云服務(wù)。何寶宏表示,我國政府信息化采購的市場規(guī)模超過500億元人民幣,是當前我國公共云服務(wù)市場規(guī)模的十余倍。
2014年4月,財政部發(fā)布《關(guān)于推進和完善服務(wù)項目政府采購有關(guān)問題的通知》,明確以分類的形式推進服務(wù)項目政府采購工作,云服務(wù)屬于第一類為保障政府部門自身正常運轉(zhuǎn)需要向社會購買的服務(wù)。
何寶宏表示,為了盡快推動云服務(wù)在政府的應(yīng)用,相關(guān)部委正在推動《政府采購云服務(wù)指導(dǎo)意見》的出臺,“數(shù)據(jù)中心聯(lián)盟”已經(jīng)完成了政府采購云服務(wù)基礎(chǔ)文檔和標準——《政府采購云服務(wù)指南》的編寫。
只需一個小程序,上百家公司快遞輕松查、寄 | 國家隊 #12:小程序體驗師:梁爽
在微信小程序的服務(wù)范圍中,「政務(wù)民生」是一個不容忽視的大類。這預(yù)示著,未來只要用手機,就能處理大量公關(guān)事務(wù),享受公共服務(wù)。
目前,有哪些「國家隊」小程序入場了呢?
這里是「國家隊」欄目的第 11 期。
在貿(mào)易活動越發(fā)活躍,生產(chǎn)經(jīng)營趨于高效率和快節(jié)奏的今天,快遞、物流的地位越來越重要。而我們?nèi)粘I钪械馁徫?、郵寄、送禮等,對快遞、物流的依賴更甚。
今天,知曉程序(微信號 zxcx0101)為大家介紹的這款小程序,就是由國家郵政局郵政業(yè)安全中心開發(fā)的「安易遞快遞」,它能幫助你更方便地寄快遞、查快遞,整理快件信息。
不但可以自己挑選喜歡的快遞公司,還省去了自己去快遞公司填單子的時間,真正實現(xiàn)了「門對門」的傳送。
?
查快遞:物流實時看,寄件更方便
想知道快遞到哪了?
而現(xiàn)在,只要在這款小程序上實名認證一次,就可以生成專屬的實名認證二維碼,寄件時出示給快遞員掃一掃,就可以完成實名認證、方便好操作。郵政局安全中心開發(fā)的小程序,放心填寫,也不用擔心自己的信息安全。
?
邗江區(qū)政府公文系統(tǒng):永春縣政府政務(wù)OA系統(tǒng)中springboot實現(xiàn)web系統(tǒng)license授權(quán)認證公平臺的重要性以及其對政府工作的影響。首先,政務(wù)辦公平臺的建立有助于提升政府工作效率。傳統(tǒng)的行政工作常常面臨繁瑣的文件處理、信息共享不暢等問題,導(dǎo)致工作效率低下。而政務(wù)辦公平臺通過整合各部門的信息資源和業(yè)務(wù)流程,實現(xiàn)了信息共享與協(xié)同辦公。政府工作人員可以通過平臺快速查詢和處理事務(wù),節(jié)省了大量的時間和精力。此外,平臺還提供了自動化的流程管理和監(jiān)控功能,有效減少了人為錯誤和延誤,提高了工作的準確性和時效性。其次,政務(wù)辦公平臺的推廣也能夠提升政府的服務(wù)質(zhì)量。政府是為民眾提供服務(wù)的機構(gòu),提高服務(wù)質(zhì)量是其責任所在。政務(wù)辦公平臺可以實現(xiàn)政府與民眾之間的多渠道互動和信息共享。民眾可以通過平臺在線辦理各類事務(wù),避免了繁瑣的排隊和提交紙質(zhì)材料的過程。此外,平臺還提供了在線咨詢和投訴功能,方便民眾提出問題和反饋大家好,又見面了,我是你們的朋友全棧君。
在我們做系統(tǒng)級框架的時候,我們要一定程度上考慮系統(tǒng)的使用版權(quán),不能隨便一個人拿去在任何環(huán)境都能用,所以我們需要給我們系統(tǒng)做一個授權(quán)認證機制,只有上傳了我們下發(fā)的lic文件并驗證通過,才能正常使用,下面就開始一步一步實現(xiàn)這個功能
1.生成機器碼
我們首先要做的就是對軟件部署的環(huán)境的唯一性進行限制,這里使用的是macadderss,當然你也可以換成cpu序列編號,并無太大影響,先上代碼
代碼語言:javascript
復(fù)制
private static string getmac() {
try {
enumeration<networkinterface> el = networkinterface
.getnetworkinterfaces();
while (el.hasmoreelements()) {
byte[] mac = el.nextelement().gethardwareaddress();
if (mac == null)
continue;
string hexstr = bytestohexstring(mac);
return getsplitstring(hexstr, "-", 2).touppercase();
}
} catch (exception exception) {
exception.printstacktrace();
}
return null;
}
public static string getmachinecode() throws exception{
set<string> result = new hashset<>();
string mac = getmac();
result.add(mac);
properties props = system.getproperties();
string javaversion = props.getproperty("java.version");
result.add(javaversion);
string javavmversion = props.getproperty("java.vm.version");
result.add(javavmversion);
string osversion = props.getproperty("os.version");
result.add(osversion);
string code = encrpt.getmd5code(result.tostring());
return getsplitstring(code, "-", 4);
}
這里進行的操作是取出機器碼,與java版本,jvm,操作系統(tǒng)參數(shù)進行混合,并進行md5操作
2.進行l(wèi)ic文件的生成
這是我生成證書與進行授權(quán)證書的界面,可以看到授權(quán)證書主要包含三個要素,機器碼,是否永久有效標識,證書時效,我們會將這些數(shù)據(jù)寫入文本中并進行加密處理,看下生成證書的代碼
代碼語言:javascript
復(fù)制
public static void getlicense(string isnotimelimit, string licenselimit, string machinecode, string licensepath, string priavatekeypath) throws exception{
string[] liccontent = {
"licenseid=yanpeng19940119@gmail.com",
"licensename=yblog使用證書",
messageformat.format("licensetype={0}",isnotimelimit),
messageformat.format("expireday={0}",licenselimit), //日期采用yyyy-mm-dd日期格式
messageformat.format("machinecode={0}",machinecode),
""
};
//將lic內(nèi)容進行混合簽名并寫入內(nèi)容
stringbuilder sign = new stringbuilder();
for(string item:liccontent){
sign.append(item+"yblog");
}
liccontent[5] = messageformat.format("licensesign={0}",encrpt.getmd5code(sign.tostring()));
fileutil.createfileandwritelines(licensepath,liccontent);
//將寫入的內(nèi)容整體加密替換
string filecontent =fileutil.readfiletostring(licensepath);
string encrptfilecontent = encrpt.encriptwrsa_pri(filecontent,priavatekeypath);
file file = new file(licensepath);
file.delete();
fileutil.createfile(licensepath,encrptfilecontent);
}
這里我們是將一些信息與特定標識進行拼接然后加密,使用的是rsa加密,我們使用私鑰加密公鑰解密,保證驗證的開放性與生成證書的私密性,密鑰可以使用java自帶的keytool工具進行生成,教程地址:http://note.youdao.com/noteshare?id=09e2bfc902b21a335a4505f7946a45c9,在lic文件最后我們加上一個licensesign參數(shù),對其他信息進行一次加密,防止信息被篡改,生成文件后再對文本進行整體加密
這里生成密鑰的長度為2048而非1024,所以解密塊長度為256,這里需要注意下,公鑰加密方法為,為了方便大家,這里提供下具體加密代碼
代碼語言:javascript
復(fù)制
private static final int max_encrypt_block = 117;
private static final int max_decrypt_block=256;
public static string encriptwrsa_pri(string data,string path) throws exception{
string encryptdata ="";
fileinputstream in = new fileinputstream(path);
keystore ks = keystore.getinstance("jks");// jks: java keystorejks,可以有多種類型
ks.load(in, "123".tochararray());
in.close();
string alias = "yblogkey"; // 記錄的別名
string pswd = "123"; // 記錄的訪問密碼
java.security.cert.certificate cert = ks.getcertificate(alias);
//獲取私鑰
privatekey privatekey = (privatekey) ks.getkey(alias, pswd.tochararray());
//私鑰加密
cipher cipher = cipher.getinstance("rsa");
securerandom random = new securerandom();
cipher.init(cipher.encrypt_mode, privatekey, random);
try {
// cipher cipher = cipher.getinstance("rsa");
// cipher.init(cipher.encrypt_mode, publickey);
int length = data.getbytes().length;
int offset = 0;
byte[] cache;
bytearrayoutputstream outstream = new bytearrayoutputstream();
int i = 0;
while(length - offset > 0){
if(length - offset > max_encrypt_block){
cache = cipher.dofinal(data.getbytes(), offset, max_encrypt_block);
}else{
cache = cipher.dofinal(data.getbytes(), offset, length - offset);
}
outstream.write(cache, 0, cache.length);
i++;
offset = i * max_encrypt_block;
}
return encode.encode(outstream.tobytearray());
} catch (illegalblocksizeexception e) {
e.printstacktrace();
} catch (badpaddingexception e) {
e.printstacktrace();
}
return encryptdata;
}
public static string decriptwithrsa_pub(string data,string path) throws exception{
x509certificate x509certificate = (x509certificate) getcertificate(path);
// 獲得公鑰
publickey publickey = x509certificate.getpublickey();
cipher cipher = cipher.getinstance("rsa");
securerandom random = new securerandom();
byte[] bencrypt = decoder.decodebuffer(data);
//公鑰解密
cipher.init(cipher.decrypt_mode, publickey, random);
string decryptdata = "";
// byte[] plaindata = cipher.dofinal(bencrypt);
// system.out.println("11111:"+new string(plaindata));
int inputlen = bencrypt.length;
bytearrayoutputstream out = new bytearrayoutputstream();
int offset = 0;
byte[] cache;
int i = 0;
// 對數(shù)據(jù)分段解密
while (inputlen - offset > 0) {
if (inputlen - offset > max_decrypt_block) {
cache = cipher.dofinal(bencrypt, offset, max_decrypt_block);
} else {
cache = cipher.dofinal(bencrypt, offset, inputlen - offset);
}
out.write(cache, 0, cache.length);
i++;
offset = i * max_decrypt_block;
}
byte[] decrypteddata = out.tobytearray();
out.close();
return new string(decrypteddata);
}
3.驗證lic
我們會在系統(tǒng)中注冊一個攔截器,未通過系統(tǒng)授權(quán)認證會自動跳轉(zhuǎn)到lic文件上傳界面,springboot接收文件與常規(guī)java有一些不同,使用的multipartfile對象,會獲取到上傳文件的數(shù)組,進行操作,看下保存上傳lic文件代碼
代碼語言:javascript
復(fù)制
@requestmapping(value="/login/licenseauth",method= requestmethod.post)
@responsebody
public map<object,object> licenseauth(multiparthttpservletrequest multireq){
map<object,object> map = new hashmap<object,object>();
try {
string savepath = resourceutils.geturl("src/main/resources/static/lic").getpath();
multipartfile file = multireq.getfile("file");
string filename = file.getoriginalfilename();
file uploadfile = new file(savepath + "\" + filename);
if (!uploadfile.exists()){
//獲取item中的上傳文件的輸入流
inputstream in = file.getinputstream();
//創(chuàng)建一個文件輸出流
fileoutputstream out = new fileoutputstream(savepath + "\" + filename);
//創(chuàng)建一個緩沖區(qū)
byte buffer[] = new byte[1024];
//判斷輸入流中的數(shù)據(jù)是否已經(jīng)讀完的標識
int len = 0;
//循環(huán)將輸入流讀入到緩沖區(qū)當中,(len=in.read(buffer))>0就表示in里面還有數(shù)據(jù)
while((len=in.read(buffer))>0){
//使用fileoutputstream輸出流將緩沖區(qū)的數(shù)據(jù)寫入到指定的目錄(savepath + "\" + filename)當中
out.write(buffer, 0, len);
}
//關(guān)閉輸入流
in.close();
//關(guān)閉輸出流
out.close();
}
map.put("executestatus","1");
}catch (exception e){
e.printstacktrace();
map.put("executestatus","0");
}
return map;
}
有了上傳文件,我們就可以通過系統(tǒng)內(nèi)置的公鑰對lic文件的機器碼,授權(quán)時間進行驗證,確定是否能正常訪問系統(tǒng)
代碼語言:javascript
復(fù)制
public static boolean authlicense() throws exception{
boolean isauth = false;
string pubkpath = resourceutils.geturl("src/main/resources/static/lic/").getpath()+"yblog.crt";
string licpath = resourceutils.geturl("src/main/resources/static/lic/").getpath();
file lic = new file(licpath);
string[] filelist = lic.list();
if (filelist.length>0){
for (int i = 0; i < filelist.length; i++) {
if (filelist[i].contains(".lic")){
file readfile = new file(licpath + filelist[i]);
if (readfile.isfile()) {
string liccontent = fileutil.readfiletostring(readfile);
string decriptliccontent = encrpt.decriptwithrsa_pub(liccontent,pubkpath);
hashmap<string, string> props = gendatafromarraybyte(decriptliccontent.getbytes());
string licenseid = props.get("licenseid");
string licensename= props.get("licensename");
string licensetype = props.get("licensetype");
string liclimit = props.get("expireday");
string machinecode = props.get("machinecode");
string lincensesign = props.get("licensesign");
//驗證簽名
string allinfogroup = "licenseid="+licenseid+"yblog"+"licensename="+licensename+"yblog"+
"licensetype="+licensetype+"yblog"+"expireday="+liclimit+"yblog"+"machinecode="+machinecode+"yblogyblog";
if (lincensesign.equals(encrpt.getmd5code(allinfogroup))){
//驗證機器碼
if (getmachinecode().equals(machinecode)){
simpledateformat sdf=new simpledateformat("yyyy-mm-dd");
date bt=new date();
date et=sdf.parse(liclimit);
//驗證時間
if(bt.compareto(et)<=0){
isauth = true;
system.out.println("注冊文件:"+filelist[i]+",已通過驗證");
break;
}else{
system.out.println("證書過期");
}
}else{
system.out.println("機器碼不一致");
}
}else{
system.out.println("簽名不一致");
}
}
}
}
}else{
system.out.println("未上傳證書");
}
return isauth;
}
發(fā)布者:全棧程序員棧長,轉(zhuǎn)載請注明出處:https://javaforall.cn/164390.html原文鏈接:https://javaforall.cn
即將發(fā)布!《2017年網(wǎng)絡(luò)空間安全報告》:當前我國重點行業(yè)網(wǎng)站如政務(wù)、教育、事業(yè)單位等仍存在基礎(chǔ)性安全隱患其中僵尸網(wǎng)站、域名劫持傀儡服務(wù)器等問題較為嚴重▽▽▽ 這一年,您知道的網(wǎng)絡(luò)空間安全是什么?哪些行業(yè)是網(wǎng)絡(luò)攻擊的重災(zāi)區(qū)?
報告數(shù)據(jù)摘讀2017年安恒信息風暴共收集到來自177個國家的攻擊源數(shù)據(jù),以及國內(nèi)34個省份、自治區(qū)、直轄市、特別行政區(qū)的受攻擊網(wǎng)站數(shù)據(jù),攻擊數(shù)據(jù)量達到8.46億。
圖:漏洞類型分布情況受攻擊區(qū)域集中在沿海省市(分布在浙江、江蘇、廣東、福建、山東等?。┮约罢?、經(jīng)濟中心(北京、上海):?圖:攻擊區(qū)域分布根據(jù)行業(yè)攻擊趨勢來看,教育和政府行業(yè)成了受攻擊的重災(zāi)區(qū):?
迄今為止,“反g黑客”組織已對國內(nèi)的政務(wù)、教育、企業(yè)等重要行業(yè)系統(tǒng)進行了大量攻擊,具有較強的組織性和周期性。
圖:2017年反g黑客攻擊時段統(tǒng)計物聯(lián)網(wǎng)設(shè)備成為威脅新源頭之一?對全球物聯(lián)網(wǎng)設(shè)備漏洞進行掃描分析,弱口令問題分布如圖所示:?
騰訊入局物業(yè)管理,欲改造傳統(tǒng)服務(wù)?:“騰訊海納”將通過云計算、大數(shù)據(jù)、人工智能等技術(shù)連接物業(yè)、居民、政府、媒體和社區(qū)服務(wù)提供方,形成“互聯(lián)網(wǎng)+社區(qū)”一站式解決方案。?
但與此同時,城市社區(qū)服務(wù)的智慧化卻相對發(fā)展滯后,尤其是智慧社區(qū)的主要載體——物業(yè)管理服務(wù)。
據(jù)報道了解,通過“騰訊海納”,物業(yè)管理公司將可為業(yè)主提供智能門禁、智能停車場、線上投訴報修、在線繳納水電費等“互聯(lián)網(wǎng)+”服務(wù)。
、物業(yè)、騰訊的四方共贏局面。
騰訊海納社區(qū)主要功能:⊙基于微信的消息推送集成微信公眾平臺功能并加強各類消息推送,不再為各類通知,催繳物業(yè)費跑斷腿⊙安全簡便的信息管理住戶信息,員工信息,樓棟信息,外部人員信息集中式管理,一目了然⊙完善的物業(yè)基礎(chǔ)服務(wù)多次優(yōu)化的快捷報修
中興智能視覺大數(shù)據(jù)說:原來今年的高考也要看臉了?。?中興智能視覺大數(shù)據(jù)報道:再過一些時間,2018年高考將正式拉開大幕,本次高考廣東肇慶中學(xué),作為全省兩個第一批試點的考點之一,將在今年高考中首次使用人臉識別技術(shù),有關(guān)人臉識別的應(yīng)用越來越常態(tài)化了。
肇慶市教育局和廣東肇慶中學(xué) 高度重視,在5.31至6.1舉行的高考仿真考試中,將會測試使用人臉識別技術(shù)來驗證考生身份,市教育局、廣東肇慶中學(xué),還計劃于6月5日考務(wù)培訓(xùn)時再次測試人臉識別系統(tǒng),人臉識別有何優(yōu)勢
通過人臉識別技術(shù),在校門出入口 、學(xué)生宿舍入口、教學(xué)樓等重點區(qū)域布置人臉識別攝像機,可以實時檢測和掌握出入人員的身份信息。
在科技昌盛的大環(huán)境以及政府的支持下,我國的人工智能公司推動人工智能技術(shù)與教育行業(yè)的發(fā)展具有重要的變革意義。
中興智能視覺大數(shù)據(jù)愿意將人臉識別在眾多行業(yè)的成功應(yīng)用經(jīng)驗推廣至教育行業(yè),通過人臉識別解決方案的完善和更多實踐樣板的樹立打造,讓更多教育機構(gòu)切實感受人臉識別帶來的安全和便捷。
云棲大會上,錢塘大數(shù)據(jù)被省長點名啦!:智慧城市惠民生,開放共享政府數(shù)據(jù)提升治理能力。信息經(jīng)濟正成為引領(lǐng)浙江經(jīng)濟新常態(tài)的新動能。?▲2016年5月31日,錢塘數(shù)據(jù)——國內(nèi)首個“工業(yè)大數(shù)據(jù)”應(yīng)用和交易平臺正式上線。
車省長強調(diào),大數(shù)據(jù)時代,城市與區(qū)域的勢能在轉(zhuǎn)換,浙江有信心、有理由打造世界級的科創(chuàng)高地。當今全球正進入“去體量化”,科技的權(quán)重開始遠遠大于資本、土地、勞動力等生產(chǎn)要素。
同時,全球也步入“連接大于擁有”時代,哪個城市與區(qū)域的連接能力強、獲得的資源多,發(fā)展機會就越大。這給浙江經(jīng)濟一個彎道超車的機會。
浙江將深入推進杭州國家自主創(chuàng)新示范區(qū)、中國(杭州)跨境電子商務(wù)綜合試驗區(qū)建設(shè),加快杭州城西科創(chuàng)大走廊和錢塘江金融港灣建設(shè)等,努力打造世界級的科技創(chuàng)新高地。?
浙江將進一步優(yōu)化制度供給與服務(wù)方式,為創(chuàng)業(yè)者提供肥沃的土壤、充足的陽光雨露,讓創(chuàng)業(yè)創(chuàng)新的門檻更低、成本最小、環(huán)境最優(yōu),讓大家尋找到創(chuàng)業(yè)的幸福感,實現(xiàn)人生價值。
轉(zhuǎn)載請注明出處,本站網(wǎng)址:
http://m.opentechcloud.com/news_1935.html