我需要使用PHP生成一个字符串,它需要是唯一的,需要 4到8个字符(变量的值).
我以为我可以使用crc32哈希但我无法确定多少个字符,但肯定它会是唯一的.另一方面只创建一个"密码生成器"将生成重复的字符串,并检查表中的值,每个字符串将需要一段时间.
我怎样才能做到这一点?
也许我可以用它:
function unique_id(){
$better_token = md5(uniqid(rand(), true));
$unique_code = substr($better_token, 16);
$uniqueid = $unique_code;
return $uniqueid;
}
$id = unique_id();
Run Code Online (Sandbox Code Playgroud)
改为:
function unique_id($l = 8){
$better_token = md5(uniqid(rand(), true));
$rem = strlen($better_token)-$l;
$unique_code = substr($better_token, 0, -$rem);
$uniqueid = $unique_code;
return $uniqueid;
}
echo unique_id(4);
Run Code Online (Sandbox Code Playgroud)
你认为我每次都会获得独特的弦乐吗?
我安装了emacs C#模式.
.emacs文件如下
(require 'csharp-mode)
(setq auto-mode-alist
(append '(("\\.cs$" . csharp-mode)) auto-mode-alist))
(defun my-csharp-mode-fn ()
"function that runs when csharp-mode is initialized for a buffer."
(setq default-tab-width 4)
)
(add-hook 'csharp-mode-hook 'my-csharp-mode-fn t)
它工作得很好,但我看到块({..})与我的意图一致.我的意思是,在某些情况下,我有这个.
private static int StringCompare(string x, string y)
{
int result;
if (x == null)
{
}
}
Run Code Online (Sandbox Code Playgroud)
当我期待这个
private static int StringCompare(string x, string y)
{
int result;
if (x == null)
{
}
}
Run Code Online (Sandbox Code Playgroud)
与此同时,我总是有2个代码缩进,但我希望它是4.
我的问题是
我在Mac OS X/mono上使用emacs C#模式. …
我有以下加密数据的程序.
import java.security.Key;
import javax.crypto.Cipher;
import javax.crypto.spec.SecretKeySpec;
import org.apache.commons.codec.binary.Base64;
public class Test {
private static final String ALGORITHM = "AES";
private static final byte[] keyValue = "ADBSJHJS12547896".getBytes();
public static void main(String args[]) throws Exception {
String encriptValue = encrypt("dude5");
decrypt(encriptValue);
}
/**
* @param args
* @throws Exception
*/
public static String encrypt(String valueToEnc) throws Exception {
Key key = generateKey();
Cipher c = Cipher.getInstance(ALGORITHM);
c.init(Cipher.ENCRYPT_MODE, key);
System.out.println("valueToEnc.getBytes().length "+valueToEnc.getBytes().length);
byte[] encValue = c.doFinal(valueToEnc.getBytes());
System.out.println("encValue length" + encValue.length);
byte[] encryptedByteValue = …Run Code Online (Sandbox Code Playgroud) 为什么java世界中存在如此多的混乱,包括apache,tomcat,jboss,jetty等各种服务器,而在.Net世界中,只有IIS才能完成这项工作.我想了解它的需要和使用,并没有启动java vs. .net.
我正在使用Java Swing开发一个桌面应用程序供我个人使用.我的应用程序需要一些漂亮的外观和感觉.如何使用Java或第三方API来完成?
我刚刚开始开发一个网站.我现在所拥有的只是一个HTML页面由几个CSS样式表支持.
我可以从HTML和CSS页面创建WAR文件吗?我如何能将它们部署到Tomcat服务器上?
谢谢.
我有一个来自ajax请求的以下JSON响应.
var json = {
"response": {
"freeOfChargeProduct": {
"description": "Product",
"orderQty": 5,
"productName": "XYZ",
"qty": 6,
"details": {
"price": 55.5,
"instock": "true",
"focQuantity": 1
}
},
"orderLineId": 4788,
"totalOrderLinePrice": "741.36",
"totalOrderPrice": "1,314.92",
"totalQty": 17
};
Run Code Online (Sandbox Code Playgroud)
JSON并不总是返回"freeOfChargeProduct"属性.因此,如果我想获得"freeOfChargeProduct"价格,那么我必须执行以下操作:
var getFreeOfChargeProductPrice = function() {
var r = json.response;
if (r && r.freeOfChargeProduct && r.freeOfChargeProduct.details) {
return r.freeOfChargeProduct.details.price;
}
return null;
};
Run Code Online (Sandbox Code Playgroud)
没问题.但是检查对象中的每个属性都非常烦人,因此我创建了一个函数来检查对象中的属性是否已定义.
var getValue = function (str, context) {
var scope = context || window,
properties = str.split('.'), i;
for(i = 0; …Run Code Online (Sandbox Code Playgroud) 我有一个像这样的litte radiobutton:
<h:selectOneRadio value="#{test.answer}" valueChangeListener="#{TestService.changeanswer}" immediate="true" id="answer">
<f:selectItem itemValue="A" itemLabel="Absolutely True"/>
<f:selectItem itemValue="B" itemLabel="True"/>
<f:selectItem itemValue="C" itemLabel="Partially True"/>
<f:selectItem itemValue="D" itemLabel="Not True"/>
<f:selectItem itemValue="E" itemLabel="Definitely Not True"/>
<f:ajax event="change" process="answer"></f:ajax></h:selectOneRadio>
Run Code Online (Sandbox Code Playgroud)
而我的倾听者是这样的:
public void changeanswer(ValueChangeEvent vcEvent) {
System.out.println("comeon= " + vcEvent.getOldValue());
System.out.println("comeon= " + vcEvent.getNewValue());}
Run Code Online (Sandbox Code Playgroud)
我想将一个参数传递给changeanswer方法.例如,我想将questionid传递给changeanswer函数.我需要做一些安排.
我怎样才能做到这一点?
许多人提前多多感谢.
布拉德 - 新秀......
我目前INT在JavaDB(Apache Derby)中用作主键的类型,但由于我正在实现分布式系统,我想将类型更改为java.util.UUID.关于这个的一些问题:
我应该将JavaDB/Derby中的哪种数据类型用于UUID?我已经看过CHAR(16) FOR BIT DATA了,但我对此并不了解.是VARCHAR(16)选择吗?
我应该如何在JDBC中使用它?例如PreparedStatement,如何设置和获取UUID?
如果我后来想将数据库更改为SQL Server,是否存在与java.util.UUID兼容的数据类型?
简单地说,我应该如何将UUID与JavaDB/Derby和JDBC一起使用?